为什么运行 ncdu 后 du -sh 速度更快了?

为什么运行 ncdu 后 du -sh 速度更快了?

我有一个包含源代码的大型 (400 GB+) 目录。我注意到这du -sh directory需要长达 30 分钟。但是 ncdu 更快,大约需要 2 分钟。当我du -sh在 ncdu 调用后运行时,它更快,并且在 2 分钟内完成。连续du命令同样快。我想知道为什么运行 ncdu 会加快 du 的速度。是否涉及某种缓存?

答案1

du 命令没有缓存机制。

相反,当您运行du命令时,它会stat()根据目录中每个文件的 inode 大小来计算目录中的磁盘使用情况,然后对其进行汇总。

了解stat()元数据由操作系统缓存,这将减少du多次ncdu连续运行期间的执行时间。

相关内容