2015-07-03 87 views
1

我有一個centos系統使用df報告比使用du更多的磁盤使用情況。我讀過這可能發生在文件句柄尚未關閉的情況下。但是,我已經多次重新啓動系統,並且lsof不會顯示任何擱淺的文件句柄。df和du報告使用不同數量的文件系統

此主機鏡像了我使用lftp每晚管理的另一個主機。我在這個主機上設置了apache,使用符號鏈接將它指向鏡像目錄。實際鏡像數據大約是12-13 GB。基於此,14 GB的數字似乎是正確的,df報告額外的9 GB。

這可能是什麼原因造成的?

$ df -h 
Filesystem  Size Used Avail Use% Mounted on 
/dev/xvda  48G 23G 23G 50%/
tmpfs   492M 112K 492M 1% /dev/shm 
$ du -hs/2>/dev/null 
14G /

回答

0

以root身份運行du。您的用戶帳戶無法訪問的文件將不會包含在總和中,因此您必須以root身份運行以查看磁盤上所有文件的總和。

+1

或者至少不要丟棄權限被拒絕的錯誤消息:'2>/dev/null' – msw

+1

這應該是我的第一個線索,當我將其添加到命令。它幾乎擊中我的臉,但我仍然錯過了它。還是要謝謝你的幫助。 – Kylos

1

在該驅動器上運行fsck

df會給你磁盤的未分配塊的數量塊,du報告可以通過文件系統訪問的塊數。你可以看到這些方法的差異,因爲df是瞬時的(查找數字),du需要的時間量與它必須檢查的文件數量(精確的i節點)成正比。

可以有9GB的空間沒有空餘數量,而沒有一個文件名通過它到達他們。這是文件系統損壞的常見形式。

+0

我跑fsck並沒有得到任何提示修復。它給出了這個狀態:/ dev/xvda:150374/5549696文件(38.9%不連續),6014203/12517376塊 – Kylos

+0

和6014203/12517376約爲50%。所以DF可能是正確的。我從來不會用du來計算未被使用的空間;這不是它的工作。 – msw

+0

是的,我注意到了。根據我鏡像的數據量,我應該有大約14GB。我正在使用du來試圖找到負責9 GB的文件。有趣的是,當我使用救援分區並安裝我的卷時,du顯示23 GB,但是當我正常安裝時,它顯示14 GB。 – Kylos