Linux

為什麼 dfdu 在 Ubuntu 18.04 上報告可用空間不同?

  • October 23, 2021

為什麼這兩個命令報告可用空間的方式如此不同?這種情況從去年開始不時在幾個 Ubuntu 18.04 虛擬機上發生。

df報告 100% 已使用,而du -smh僅顯示 4.0G(總)中的 2.3G 在使用中。

當系統日誌伺服器停機進行維護時,通常會出現錯誤消息rsyslogsyslog-ng填充錯誤消息。/var

# df -mh /var
Filesystem              Size  Used Avail Use% Mounted on
/dev/mapper/new_vg-var  4.0G  3.9G     0 100% /var

# du -smh /var
2.3G    /var

# fuser /var

df 大於 du 的最常見原因:

  • 您沒有du在整個文件系統上執行。

    • 您沒有對所有目錄的訪問權限。
    • 你做了類似的事情du -s /filesystem/*,你錯過了頂部的點文件。重新執行為du -sx /filesystem
    • (罕見)您已經用另一個掛載遮蔽了一些文件系統。通過安裝在上面,du無法到達文件來確定大小。可以通過解除安裝陰影文件系統或通常使用原始文件系統的循環安裝來調整它們的大小。
  • 您的文件仍處於打開狀態,但已被刪除。 du無法再訪問它們以進行閱讀,但它們仍然佔用空間。嘗試lsof +aL1 /filesystem查找孤立文件和保持它們打開的程序。當程序關閉文件時,空間將被釋放。

df 小於 du 的最常見原因:

  • 裡面安裝了一個額外的文件系統,你du正在下降到它併計算那個空間。重新執行為du -sx /filesystem

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