df显示所有占用的空间,但du不会加起来

我遇到了Ubuntu 12.04 LTS的问题。 这是我在过去3周内第二次遇到这个问题。 StackOverflow上的这个封闭式问题中描述了第一次。 TL; DR版本是我设法使用450G ext4系统上的所有inode编译和构建Android堆栈少于20次。

我以为我是通过将磁盘重新格式化为XFS来解决问题,因此inode存储可能会增长。

今天早上做完一夜之后,我的可用空间不足1GB。 除了构建Android所需的东西之外,这台机器上什么都没有。 我在平台上完成了5次构建。 构建创建了一堆文件,然后我使用make clean删除它们。 我不是真的不到1GB,但工具正在报告它。 我删除了一堆临时文件,大约有40GB“释放”。 几个小时后,只是空转,我回到了不到1GB的空闲状态。

从闪存驱动器运行Ubuntu会为分区返回以下内容…

 $ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda5 468521456 468255460 265996 100% /media/f71c77eb-b4cc- $ df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda5 1691760 624214 1067546 37% /media/f71c77eb-b4cc- $ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda5 447G 447G 260M 100% /media/f71c77eb-b4cc- 

这是certificate某些事情不对的证据。 当我运行du (有和没有–apparent-size)或可视磁盘使用分析器时,我表明我实际上只使用大约35GB左右。 98.7%的已用空间位于/home/eric ,但du并未加起来。 差异在/home/eric/home/eric/android

在此处输入图像描述

我已经在这里和SO上阅读了相关问题,他们通常会建议它是由开放流程保存的已删除文件。 我重新启动到闪存驱动器运行此测试,所以它不应该是打开文件。 FWIW,/ tmp为空。

我可以在闪存驱动器上安装一个工具来恢复“丢失”的空间吗? 我可以尝试释放系统上的内存并在那里运行它,但我认为最好从闪存驱动器中执行此操作。

我应该以不同的方式配置此系统吗? 我宁愿不做另一次擦除和安装,但我需要一个可持续的Android构建系统。

关注 – 上周我不得不核对安装并重新安装12.04以完成工作。 当我本周再次浏览Android版本时,我将密切关注磁盘使用情况,并在此了解更多信息。

谢谢

在Oracle Linux上,当您有(很多/大)文件被删除但仍在运行的进程中打开时,就会发生这种情况。 然后停止进程或重启机器会有所帮助。

我最近碰到了这个,在我的情况下需要运行一个fsck

我做了touch /forcefsck && reboot ,几分钟后,服务器重新上线,突然我丢失的6 GB释放了。

在你走远之前…..将系统降低到单用户模式并执行文件系统的FULL fsck(我的意思是完全fsck -f /dev/sda5 )并查看它显示的内容。 您可能会将该空间视为磁盘上问题区域的一部分,或者在分配的内容与磁盘上存在的内容之间不匹配。

我们可以做一个测试, du说你有10GB的可用空间,而df说300 MB,你能写一个大小比如2 GB的文件(或几个文件)吗? 如果可以的话,这意味着df只是错误的(并且实际上没有“丢失空间”的问题)。 如果没有,那么du是错的(这将是有趣的)。

我没有找到这个问题的原因,但它是ubuntu 12.04独有的。

刚刚设置了一台新服务器,我开始使用Ubuntu 12.04并遇到了这个问题。 du显示大约111 GiB的使用,而df大约是170 GiB。

使用systemrescuecd 3.3.0引导并再次检查显示小于1 GiB的差异。

保持分区和文件系统(它是ext4)不变,我将ubuntu目录移开并安装了Debian 7.0。 同样,du和df之间的差异<1 GiB。

使用ubuntu 10.04,在同一分区和ext4 fs上:

df -m /

 Filesystem 1M-blocks Used Available Use% Mounted on /dev/sda2 2814679 407164 2264538 16% / 

du -mx

 tail -1 /root/diskuse 406920 . 

这足够接近。

您发布的图像告诉您空间的使用位置: /home/eric 。 看来你有一个非常大的文件占用了所有的空间,或者可能是大量的小文件。 打开主目录,确保显示隐藏文件(Nautilus中为Ctrl + H ),并按文件大小排序。

这通常是由目录中的文件引起的,目录中还安装了不同的文件系统。 典型的解决方法是使用急救盘或单用户模式启动,并清空目录,并validation它们未被用作挂载点( cat /proc/mountsdf -h )。