Ubuntu根驱动器空间不足,我无法通过du或lsof找到源


10

Ubuntu 15.10计算机上的根驱动器几乎没有空间,但是我找不到源。空间sdb2不足的驱动器可用,313M的51G可用。文件系统为ext4

这是sudo du -h / --max-depth=1输出:

Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           789M  9.4M  780M   2% /run
/dev/sdb2        51G   48G  313M 100% /
tmpfs           3.9G   12K  3.9G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sdb1       511M  3.4M  508M   1% /boot/efi
tmpfs           789M  8.0K  789M   1% /run/user/1000
/dev/sda1       239G  122M  239G   1% /media/DATA

但是我找不到任何大文件。的总使用量/似乎仅为3.4G。这是来自的输出sudo du -h / --max-depth=1

4.0K    /mnt
188K    /tmp
406M    /home
339M    /var
8.1M    /etc
361M    /lib
du: cannot access ‘/proc/7626/task/7626/fd/4’: No such file or directory
du: cannot access ‘/proc/7626/task/7626/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/7626/fd/3’: No such file or directory
du: cannot access ‘/proc/7626/fdinfo/3’: No such file or directory
0    /proc
13M    /bin
du: cannot access ‘/run/user/1000/gvfs’: Permission denied
9.4M    /run
1.6M    /root
4.0K    /lib64
16K    /lost+found
0    /sys
1.1M    /media
12K    /dev
222M    /opt
2.0G    /usr
62M    /boot
9.5M    /sbin
4.0K    /cdrom
8.0K    /srv
3.4G    /

我在这里发现了一个类似的问题:磁盘空间不足,来源是什么?

在那种情况下,问题似乎是由已删除的日志引起的,该日志由于某种原因未被正在运行的进程关闭,而找到它的方法是运行sudo lsof | grep deleted。就我而言,输出为

lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.

此外,重新引导系统后问题仍然存在,因此这不太可能是原因。

另一个建议的解决方案是卸载/var/lib/ureadahead/debugfs,但我对此很犹豫。

还有什么可能是错的?


重新启动。有一些已删除但已锁定的文件。
Ipor Sircer '17

我尝试过,但没有任何改变。
biggvsdiccvs

1
检查文件系统是否有错误,然后更新到受支持的Ubuntu版本。
迈克尔·汉普顿

6
在根文件夹中时,只需运行“ du -sh *”即可。不要使用--max-depth标志
Orphans

1
@Orphans看起来好像我没有看到*对ypu的"

Answers:


21

好吧,这只是一个猜测,但它可能会起作用:我认为用户曾经忘记挂载/dev/sda1as,/media/DATA而所有数据都写在了/dev/sdb2而不是上/dev/sda1

要对此进行检查,请卸载/media/DATA并检查此路径下的文件和文件夹。


谢谢,就是这样!除了我认为这可能是驱动器连接不良,而不是有人忘记安装任何东西。整个安装过程不可靠,我不确定该驱动器的安装方式/media/DATA-它不在/etc/fstab
biggvsdiccvs

如果您不想卸载文件系统(例如,如果您不想关闭正在使用该文件系统的进程),则可以使用绑定装载来查看(并删除)该装载隐藏的文件。
约翰尼

7

我经常为此使用“ ncdu”,它足够小,仍然可以安装它。

sudo apt-get install ncdu

只要确保您以root或sudo的身份运行它即可:

sudo ncdu /

1
但是在这种情况下不会有所帮助。
Gerald Schneider

2

当您想知道特定文件系统中的空间使用位置时,可以使用此命令查找20个最大的目录,这可以帮助您找到使用最大空间的位置,

du -m / |sort -n |tail -20

但是根文件系统更加困难,因为所有文件系统都已安装到根目录。但是-x(--one-file-system)参数将仅报告所需的文件系统,

du -m -x / |sort -n |tail -20

1
df -h *.* 

可能有帮助。

遍历目录并汇总使用的字节。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.