du 文件系统上的结果与 df​​ 不一致

du 文件系统上的结果与 df​​ 不一致

如何解释我在下面看到的使用差异(82 GBvs )?13 GB

  • 使用df

    $ df -h /
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda2              96G   82G  9.9G  90% /
    
  • 使用du

    $ sudo du -cshx /
    13G     /
    13G     total
    

答案1

-x选项是一个假朋友,因为它的目的是跳过一些事情。这个选项永远不会给你完整的画面。

要获得完整的列表,请使用绑定安装,然后使用duncduxdiskusagebaobab任何您希望在绑定目录上使用的内容,而不使用跳过选项:

mkdir /mnt/root
mount --bind / /mnt/root
ncdu /mnt/root

然后你可能会发现里面有很多东西/mnt/backup(因为备份任务运行时它没有挂载),或者有一个巨大的文件(当不存在并且没有挂载tmpfs时/dev的结果)。dd if=/dev/zero of=/dev/sdx/dev/sdx/dev

它也可能是进程仍在使用的已删除文件,但人们通常不会询问它,因为它在重新启动后就消失了。它也可能是文件系统不一致,但在重新启动后也会消失(如果它fsck在过程中强制)。

相关内容