在保持准确性的同时,在linux下使用du -s或df来提高磁盘使用率查询的性能?

我正在运行一个脚本,以查找范围广泛的VPS(大小范围从小于1 GB使用到超过200 GB使用)的磁盘使用情况…我试图保持性能(EG:否VPS上的额外负载),同时保持准确性。

DF是快速的,不会产生任何我知道的磁盘负载,但它不是很准确(我已经有0.5 GB的使用磁盘时,有6 + GB的使用情况)…

du -s在小型系统上足够快,不会对性能产生影响(在重要之前就已经完成了),它是准确的,并且运行良好,但是如果在更大的系统上运行它,则会花费大量的I / O,并可能减慢整个机器。

所以我希望在保持性能的同时还能得到准确的结果。

这个脚本每10秒运行一次,而我正在查看状态…数据不一定需要在第一次拉动时100%准确,但是通过第3次拉动它应该是。 (如果这是有道理的…)

df实用程序报告可用磁盘空间。 当它报告与du不同的时候,通常是因为一个文件已经被删除(所以du没有看到它),但是文件仍然被一个进程保持打开,所以正在使用磁盘块。 可以认为df比du报告更准确,因为当文件打开时,块不能被其他任何东西使用。

您可以尝试使用ionice来减less您的磁盘扫描的io优先级, nice会降低CPU优先级。

扫描每10秒可能太频繁btw方式。