我有一个非常奇怪的问题,我在我的Centos服务器上的硬盘显示99%的使用率。 我执行了几个命令列出最大的文件,但没有显示任何大于9.9G这是networking目录。 这里有一些输出:
[root@desync-arpa /]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 453G 421G 8.6G 99% / tmpfs 3.8G 0 3.8G 0% /dev/shm /dev/sda1 97M 53M 40M 58% /boot /dev/sda4 2.0G 68M 1.9G 4% /tmp /dev/sdb 459G 643M 435G 1% /mnt/disk2 [root@desync-arpa /]# du --max-depth=1 -h / 4.0K /srv 1.1G /home 339M /etc 4.0K /media 445M /mnt 568M /root du: cannot access `/proc/26016/task/26016/fd/4': No such file or directory du: cannot access `/proc/26016/task/26016/fdinfo/4': No such file or directory du: cannot access `/proc/26016/fd/4': No such file or directory du: cannot access `/proc/26016/fdinfo/4': No such file or directory 0 /proc 188K /dev 7.7M /bin 4.0K /selinux 284K /tmp 16K /lost+found 0 /sys 15M /sbin 5.6G /var 52M /boot 26M /lib64 8.0K /opt 259M /lib 1.3G /usr 9.6G / [root@desync-arpa /]#
综合起来,所有的文件夹都弥补了18G的空间。 我真的坚持find所有这些大文件,任何帮助将不胜感激。
我build议你尝试基于ncurses的名为NCDU的命令行工具。 它会扫描你的磁盘,并允许你用ncurses界面浏览它。 这是例子:
--- /tmp ---------------------------------------------------------------------- 393.7MiB [##########] web_www_2015-02-17.tar.gz 57.8MiB [# ] /builder 23.3MiB [ ] /config-prod 15.0MiB [ ] web_db_2015-02-17.sql.gz
您可以将光标移动到目录中,并使用返回键深入目录。
要安装它只需运行:
# yum install ncdu
注意:您需要在EL5 / 6上为ncdu使用EPEL存储库。
之后,在特定的FS上运行它:
# ncdu -x /path/to/mountpoint
-x表示 – 仅扫描当前的FS。
编辑:如果您仍然无法find正在占用磁盘空间的文件,可能是他们被删除,但仍然保持打开状态。 例如,这可能会发生在日志文件中。 要查找这些文件,请运行以下命令:
# lsof | grep deleted
要删除这些文件,您需要停止持有这些文件的进程。 释放磁盘空间的另一种方法是查看proc文件系统,find这些文件句柄,并清空这些文件。 文件名将是输出的最后一列,所以只需将其复制并在/ proc中find指向它的符号链接,然后清空文件:
# > /proc/<pid>/fd/<number>