Ubuntu根驱动器空间不足,我无法通过du或lsoffind源代码

在Ubuntu 15.10机器上的根驱动器几乎没有空间,但我找不到源代码。 空间不足的驱动器是sdb2 ,可用的51G的313M。 文件系统是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.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 / 

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

在这种情况下,看起来问题是由一个被删除的日志引起的,这个日志在某个运行的进程中没有被closures,而find它的方法是运行sudo lsof | grep deleted sudo lsof | grep deleted 。 在我的情况下,输出是

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

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

另一个build议的解决scheme是卸载/var/lib/ureadahead/debugfs ,但我犹豫要这样做。

还有什么可能是错的?

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

要检查这个,请卸载/media/DATA和检查这个path下的文件和文件夹。

我经常使用'ncdu',它足够小,仍然可以安装。

 sudo apt-get install ncdu 

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

 sudo ncdu / 
 df -h *.* 

可以帮忙。

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

当你想知道特定文件系统中的空间使用情况时,可以使用这个命令查找20个最大的目录,这可以帮助你find最多空间的地方,

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

但是根文件系统更难,因为所有的文件系统都被挂载到根目录。 但-x(–one-file-system)参数只会报告所需的文件系统,

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