Linux

在保持準確性的同時使用 du -s 或 df 在 Linux 中最大化磁碟使用查詢的性能?

  • October 15, 2013

我正在執行一個腳本來找出各種 VPS 上的磁碟使用情況(大小從小於 1 GB 的使用量到超過 200 GB 的使用量)……我正在努力保持性能(EG:否VPS 上的額外負載),同時保持準確性。

df 速度很快,不會產生任何我知道的磁碟負載,但它不是很準確(當使用量超過 6 GB 時,我已經讓它報告了 0.54 GB 的已用磁碟)…

du -s 在較小的系統上足夠快,不會對性能產生影響(它在重要之前完成),它是準確的並且執行良好,但是如果您在較大的系統上執行它,它會使用大量的 I /O 並且可以減慢整個機器的速度。

所以我想要一些關於保持性能同時仍然獲得準確結果的建議。

在我查看狀態時,此腳本每 10 秒執行一次……數據不一定需要在第一次拉動時 100% 準確,但到第三次拉動時應該是。(如果這有意義的話……)

df 實用程序報告可用磁碟空間。當它與 du 報告不同時,通常是因為文件已被刪除(所以 du 看不到它)但該文件仍被程序保持打開狀態,因此它的磁碟塊正在使用中。可以說 df 的報告比 du 更準確,因為當文件打開時,它的塊不能被其他任何東西使用。

您可以嘗試使用ionice來降低磁碟掃描的 io 優先級,而nice會降低 cpu 優先級。

順便說一句,每 10 秒掃描一次可能太頻繁了。

引用自:https://serverfault.com/questions/546021