Disk-Usage

du和df的不同輸出

  • May 26, 2016

好的,這是讓我完全困惑的問題:

df -h
Dateisystem          Größe Benut  Verf Ben% Eingehängt auf
/dev/sda2             3,8G  1,5G  2,2G  41% /
/dev/sda1             122M   13M  103M  11% /boot
tmpfs                1014M     0 1014M   0% /dev/shm
/dev/sdb1            1016M  866M  150M  86% /srv

然而:

du -hs /srv
55M     /srv

僅供參考:

mount | grep srv
/dev/sdb1 on /srv type xfs (rw)

86% 的人給了我一封警告電子郵件(這是有意的),之後我刪除了/srv. 這是幾個小時前的事。

使用du,我得到了我認為該分區上正確的數據量。但是,df似乎沒有得到那個。為什麼?(這有點煩人,因為我仍然會定期收到基於該輸出的警告電子郵件。)

不確定這是否重要,但我在使用 CentOS 版本 5.11(最終版)的伺服器上。

df統計文件系統分配的塊,du使用每個文件的大小資訊。差異可能有很多原因:

  1. 應用程序仍打開的未連結(已刪除)文件。 lsof +aL1 <filesystem>將幫助您辨識流程。

  2. 掛載點下的文件隱藏到du. debugfs可以幫助你。

$ sudo debugfs 
debugfs 1.42.12 (29-Aug-2014)
debugfs:  open /dev/<the / file system  device>
debugfs:  cd /boot
debugfs:  ls -l 
1966081   40755 (2)      0      0    4096 26-May-2016 16:28 .
     2   40555 (2)      0      0    4096 11-May-2016 10:43 ..
1974291  100644 (1)      0      0       0 26-May-2016 16:28 bob   <---<<< /boot/bob is hidden by /boot fs

3)看起來比實際更大的稀疏文件。未分配的塊不計入文件大小,df但它們計入文件大小。

請注意,硬連結不會愚弄du

引用自:https://unix.stackexchange.com/questions/285665