我的磁盘空间每天减少约 2GB!再过几天我的空间就会用完。
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda4 143G 126G 11G 93% /
udev 491M 4.0K 491M 1% /dev
tmpfs 200M 696K 199M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 499M 144K 499M 1% /run/shm
/dev/sda2 1.9G 580M 1.2G 33% /tmp
/dev/sda1 92M 29M 58M 33% /boot
我一直在寻找最大的目录/日志文件,删除并压缩。但我仍然输掉了这场战争。最后,我意识到我有一个很大的误解:
julian@server1:~$ sudo du -h / | tail -n 1
16G /
我的所有文件在 / 中加起来只有16 GB. 剩下的110 GB下落不明!
显然我有一个误解:我认为 '/dev/sda4' 行代表从 '/' 可见的所有文件。 我应该阅读什么才能了解其他存储空间去了哪里?
更多细节:
- 我有一个 Ubuntu 11.10 服务器,由数据中心工作人员设置。
它正在运行
- 我自己的代码(日志文件相当丰富,但除此之外没有在驱动器上存储太多东西)
- duplicity 用于备份(通常会存储大量签名文件)
- 各种其他标准服务,例如 Apache、nagios 等。它们的使用很少。
它已经运行了大约 4 个月,没有重启过。
我对 du 的输出撒了谎(为了效果而简化了)。它还抱怨无法访问 GVFS 和 du 进程自己的资源。我认为它们无关紧要:
。
du: cannot access `/home/julian/.gvfs': Permission denied
du: cannot access `/proc/10841/task/10841/fd/4': No such file or directory
du: cannot access `/proc/10841/task/10841/fdinfo/4': No such file or directory
du: cannot access `/proc/10841/fd/4': No such file or directory
du: cannot access `/proc/10841/fdinfo/4': No such file or directory
答案1
这可能是由于某些应用程序写入未链接的临时文件造成的 - 此类文件不会显示在du
输出中(因为它们在任何目录中都没有条目)但应用程序仍然能够写入它,因此文件会增大并占用空间。
您可以使用lsof +L
命令查找硬链接计数为零的文件,并查看哪个进程拥有该文件。重新启动该进程应该可以释放空间。
看这个答案稍微详细解释一下