df 和 du 之间差异很大

df 和 du 之间差异很大

我的/分区包含所有内容(包括/home),突然占用了 100% 的磁盘空间。我删除了一些文件,现在df显示

$ df -h /dev/sda1 
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       214G  149G   54G  74% /

然而du显示:

$ sudo du -shxc /*
9.6M    /bin
66M /boot
4.0K    /cdrom
4.0K    /dev
16M /etc
26G /home
0   /initrd.img
0   /initrd.img.old
504M    /lib
3.5M    /lib32
4.0K    /lib64
0   /libnss3.so
16K /lost+found
92K /media
4.0K    /mnt
3.3G    /opt
du: cannot access ‘/proc/4708/task/4708/fd/4’: No such file or directory
du: cannot access ‘/proc/4708/task/4708/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/4708/fd/4’: No such file or directory
du: cannot access ‘/proc/4708/fdinfo/4’: No such file or directory
0   /proc
346M    /root
1.9M    /run
13M /sbin
136K    /srv
0   /sys
36K /tmp
6.3G    /usr
1.1G    /var
0   /vmlinuz
0   /vmlinuz.old
37G total

我使用了sudo,但/proc无法访问,并且知道机器上做了什么,du似乎是正确的。但是,分配超过 54G 的磁盘空间df确实失败了:

$ fallocate -l 55G test.img
fallocate: test.img: fallocate failed: No space left on device

我知道baobab 和 df/du 的区别df 显示所有已占用的空间,但 du 不累加似乎显示了相同的问题,但没有关于如何解决它的答案。我也知道为什么 df 和 du 显示不同的输出?,但这里的差别很大,我重新启动了机器,我/dev/sda1在从 DVD 启动时进行了检查,所以它应该不再存在了。

有人知道发生了什么吗?我真的很想恢复我的磁盘空间!;)

系统信息:

$ uname -a
Linux hjort 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a
LSB Version:    core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-noarch:core-4.0-amd64:core-4.0-noarch:core-4.1-amd64:core-4.1-noarch:security-4.0-amd64:security-4.0-noarch:security-4.1-amd64:security-4.1-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:    14.04
Codename:   trusty

答案1

我的问题和这篇文章中的问题相同https://serverfault.com/questions/57098/du-vs-df-difference

抱歉打扰了。我(错误地)备份了rsnapshot文件/mnt/backup,然后将备份驱动器安装在了备份文件上。

相关内容