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

big*_*cvs 12 ubuntu disk-space-utilization

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
Run Code Online (Sandbox Code Playgroud)

但是我找不到任何大文件。总使用量/似乎只有 3.4 G。这是来自的输出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    /
Run Code Online (Sandbox Code Playgroud)

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

在这种情况下,问题似乎是由一个已删除的日志引起的,该日志以某种方式没有被正在运行的进程关闭,而找到它的方法是运行sudo lsof | grep deleted. 就我而言,输出是

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

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

另一个建议的解决方案是 unmount /var/lib/ureadahead/debugfs,但我很犹豫要不要这样做。

还有什么问题?

小智 21

好吧,这只是一个猜测,但它可能有效:我认为用户曾经忘记安装/dev/sda1as/media/DATA并且所有数据都写入/dev/sdb2而不是/dev/sda1.

要检查这一点,请卸载/media/DATA并检查此路径下的文件和文件夹。


小智 7

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

sudo apt-get install ncdu
Run Code Online (Sandbox Code Playgroud)

只要确保你以 root 或通过 sudo 运行它:

sudo ncdu /
Run Code Online (Sandbox Code Playgroud)