我有一个 50GB 的 VPS
当我运行 df 时我得到
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 49982172 46580100 863064 99% /
none 507212 172 507040 1% /dev
none 511676 4 511672 1% /dev/shm
none 511676 76 511600 1% /var/run
none 511676 0 511676 0% /var/lock
none 511676 0 511676 0% /lib/init/rw
当我从 / 运行 du -h 时,我得到
...
20K ./tmp/vmware-root
4.0K ./tmp/.webmin
4.0K ./tmp/.X11-unix
4.0K ./tmp/.ICE-unix
4.0K ./tmp/hsperfdata_root
48K ./tmp
7.7M ./bin
3.8G .
我还尝试查找大于 100MB 的文件,尝试使用 find / -size +100M -ls 来查找占用我空间的文件
4026531985 0 -r-------- 1 root root 140737486266368 Mar 23 08:55 /proc/kcore
find: `/proc/3969/task/3969/fd/5': No such file or directory
find: `/proc/3969/task/3969/fdinfo/5': No such file or directory
find: `/proc/3969/fd/5': No such file or directory
find: `/proc/3969/fdinfo/5': No such file or directory
我不知道还能做什么来发现我的问题。
编辑:
更多信息
df --inodes /
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 3178496 178211 3000285 6% /
查找 / -xdev -print | wc -l
178773
lsof +L1
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NLINK NODE NAME
miniserv. 1496 root txt REG 8,1 10416 0 2364381 /usr/bin/perl (deleted)
mysqld 12869 mysql 4u REG 8,1 0 0 537495 /tmp/ibkCwnHJ (deleted)
mysqld 12869 mysql 5u REG 8,1 0 0 537497 /tmp/ibFyPrrv (deleted)
mysqld 12869 mysql 6u REG 8,1 0 0 537499 /tmp/ibdUnwbh (deleted)
mysqld 12869 mysql 7u REG 8,1 0 0 537500 /tmp/iblHYOV2 (deleted)
mysqld 12869 mysql 11u REG 8,1 0 0 537501 /tmp/ibUW9YGO (deleted)
分销商 ID:Ubuntu 描述:Ubuntu 10.04.4 LTS 发行版:10.04 代号:lucid
答案1
du 和 df 之间通常会存在一些差异,但通常不会像您所看到的那么大。
- du 通过从目录树读取信息来报告所使用的磁盘空间,它准确但速度慢。
- df 通过读取文件系统元数据报告所使用的磁盘空间,它速度很快,但由于它使用块,因此准确性较低。
您看到的情况通常的原因是文件已被删除,但尚未被写入该文件的进程关闭。
由于该文件已被删除,du 将看不到它的目录条目,因此无法将其包含在报告中。
由于文件仍处于打开状态,其使用的块不是空闲的,因此 df 将报告它们正在使用中。
您应该能够找到导致问题的文件
lsof +L1
检查该SIZE/OFF
列。
+L1 形式的规范将选择已取消链接的打开文件。 +L1 形式的规范将选择指定文件系统上未链接的打开文件。