当服务器硬盘(Linux)快速填满很多小文件时,我偶尔遇到问题。 当发生这种情况时,我必须弄清楚有多less空间正在被占用,以及这些空间占用的文件在哪里。 这可能是令人惊讶的令人沮丧的任务,因为:
我想快速准确地知道,我的空间都放在硬盘上,数百万个小文件可能会占用太字节的空间。
传统的文件系统似乎是不可能的(如果没有的话,我想知道)
我的问题是Linux上是否有任何新的文件系统(btrfs,zfs,reiserfs等)具有可以帮助解决这个问题的超级聪明function。 例如,我可以想象某种日志 – 在每次写入时都会不断更新 – 包含文件系统中每个分支占用的空间量的logging。 然后问我的问题只是阅读日志的问题。
这只是这种function的一个例子,但是我要求提供任何可能有助于回答这个问题的function的例子: 快速准确地告诉我,我的硬盘上的空间在哪里磁盘 。
谢谢,汤姆
我只在你提到的列表中有ZFS的经验。 有了ZFS,您可以制作分层卷,例如可以制作;
等等
使用“zfs list”命令,您可以在几秒钟内获得每个卷的已用,可用和参考空间。 但是,只有当你的应用程序能够让你的应用程序以正确的方式拆分时,这才是有效的。
我仍然在我的ZFS文件系统上使用ncdu 。 现在它更加重要,因为它是稀疏文件感知的,有助于理解压缩的ZFS文件系统。
请参阅: 我怎样才能确定什么是占用这么多的空间?