linux – 如何找出占用/分区上所有空间的内容?

前端之家收集整理的这篇文章主要介绍了linux – 如何找出占用/分区上所有空间的内容?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在亚马逊的EC2服务器上的一个大型实例.我运行df命令并得到:
root@db:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             9.9G  9.1G  284M  98% /
tmpfs                 3.8G     0  3.8G   0% /lib/init/rw
varrun                3.8G  116K  3.8G   1% /var/run
varlock               3.8G     0  3.8G   0% /var/lock
udev                  3.8G   80K  3.8G   1% /dev
tmpfs                 3.8G     0  3.8G   0% /dev/shm
/dev/sdb              414G  957M  392G   1% /mnt
/dev/sdf               50G   12G   35G  26% /byp
/dev/sdk               99G   31G   63G  33% /backups

然后我运行du命令并得到:

root@db:/# du -s -h /*
31G     /backups
5.5M    /bin
136K    /boot
12G     /byp
80K     /dev
5.8M    /etc
12K     /home
70M     /lib
11M     /lib32
0       /lib64
16K     /lost+found
759M    /mnt
4.0K    /opt
du: cannot access `/proc/6917/task/6917/fd/4': No such file or directory
du: cannot access `/proc/6917/fd/4': No such file or directory
0       /proc
31M     /root
7.7M    /sbin
4.0K    /selinux
4.0K    /srv
0       /sys
11M     /tmp
1.1G    /usr
114M    /var

如果您注意到,当您在非安装目录的du命令输出添加所有大小时,您将无法获得接近9.1G的任何值,如df命令中所示.

这是否意味着我的磁盘坏了?如果是这样,我该如何解决

解决方法

完全有可能你有一个非常大的已删除文件(或许多小文件),进程仍然有一个打开文件句柄.找到它们的方法是运行
# lsof | grep "deleted"

如果您看到许多以“(已删除)”结尾的行,那么您可以找到打开它们并重新启动它的进程ID.一旦发生这种情况,您的磁盘空间应该返回.

如果这不能解决问题,那么我建议使用fsck.

猜你在找的Linux相关文章