我有一个只有128MB RAM的小型嵌入式设备
连接到此设备的是2TB USB2硬盘
直到最近,当文件数量超过磁盘容量阈值时,我一直对设备的性能感到满意(我不确定哪个)
磁盘上有许多小文件,由于编写应用程序文件的性质,它们是以非常平衡的方式组织的-叶子节点目录中没有超过200个文件,而只有80万个文件。
我希望在调查方面取得领先。磁盘性能大幅下降,设备运行良好,然后突然性能下降。
我的假设是,我在磁盘上为我的文件选择的组织结构在某种程度上损害了inode缓存保持zippy的能力。
作为实验,我卸下了磁盘(刷新缓存,免费验证)。然后,从命令提示符下,我导航至目录结构。所有人都知道该目录(及其子目录)下仅包含大约3200个文件,此时“免费”显示了超过117MB的可用内存
此时,我键入命令“ find”,然后键入“ free”
'find'显示了大约3000个文件,但内存使用量从〜117MB增至〜2MB
我了解了缓存与可用内存之间的平衡,以及内核如何将一个空页视为一个坏页-但是,从3000个文件的目录中缓存的115MB内容在我的理解上存在严重差距。我希望有人能帮助我了解发生了什么
我可以假设平衡树是拥有大量文件的方法吗?