我正在写一些东西作为备份。我正在处理非常大的文件/文件夹(100 万++,100TB++)
为了提高速度,至少我需要选择树中 10 个最大的文件夹,为此,我需要了解树中的一些信息。
- 子树中最大的 10-20 个文件夹是多少? (磁盘使用情况)
- 哪些文件夹包含最多部分文件。 (使用情况无关紧要,4k随机速度)
我无法获取信息,du -kh
因为它花费的时间太长。
现在我在想;首先创建文件夹树,然后我应该在没有文件的本地存储中进行计算,然后我就可以开始了。
但!这样,我就知道了文件夹树。我仍然不知道哪个文件夹有最大和最细的文件。
我无法找到这两个信息,现在我正在考虑选项 2 的“猜测方法”。
我应该怎么办?
答案1
除非您碰巧使用某种特殊的文件系统来保存信息并将其呈现给您,否则轮询du
基本上是您能做的最好的事情。
像 ufs/ext 这样的标准文件系统不会跟踪文件夹内容的总大小,因此必须(昂贵地)询问它们。
超过 100 万个文件意味着您无法立即执行操作,但仍然可以运行 adu
并保留输出以供将来使用。