df和du报告使用的文件系统的数量不同

时间:2015-07-03 18:41:04

标签: linux centos du df

我有一个使用df报告更多磁盘使用量的centos系统,而不是使用du。我已经读过,当文件句柄尚未关闭时会发生这种情况。但是,我已经多次重启系统,并且lsof没有显示任何搁浅的文件句柄。

此主机正在镜像我每晚使用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     /

2 个答案:

答案 0 :(得分:1)

在该驱动器上运行fsck

df将为您提供磁盘未分配块数的块数,du报告可通过文件系统访问的块数。你可以看到这些方法的不同之处,因为df是瞬时的(查找一个数字),du需要花费一定的时间来确定它必须检查的文件数(i-node)。

免费计数中可能有9GB的空间,而没有可用的文件名。这是文件系统损坏的常见形式。

答案 1 :(得分:0)

以root身份运行du。您的用户帐户无法访问的文件将不包含在总和中,因此您必须以root身份运行才能查看磁盘上所有文件的总和。