Disk-Usage
為什麼 du 和 quota 結果不匹配?
我在一個沒有 root 訪問權限的系統上超出了我的磁碟配額。我嘗試刪除舊文件,但仍然結束。我試著跑去
du
找我用完所有空間的地方,但它報告我用的很少。結果來自
quota
/home/1234$ quota -s Disk quotas for user 1234 (uid 1234): Filesystem space quota limit grace files quota limit grace cslab:/home 4519M* 4096M 5120M 09:47 6155 0 0
從
du
/home/1234$ du -mad 1 ... 936 total
我不明白為什麼
quota
說我使用的是 4.5GB 而du
只計算 0.9GB。我還檢查了我擁有的文件/tmp
,那裡有 50MB 的文件。其他 3.5GB 的文件在哪裡?配額系統是否可能錯誤並需要重置?
我相信某些程序可能仍會保留一些文件。您可以嘗試使用列出它們,
lsof | grep username | grep deleted
一個更好的版本是使用,
lsof +L1 | grep username
但是,有時輸出之間可能存在差異,
du
並且quota
在此連結中對此進行了解釋。摘自連結,在 Unix 中,du 和 quota 命令可能報告不同的值。造成這種差異的原因是,通過文件系統、檢查配額和更新使用表的程序僅在特定時間執行。因此,在配額檢查之間會有一段時間,quota -v 命令會報告不正確的磁碟使用情況。使用 du 命令獲取有關文件大小的最準確資訊。