根填充虽然它应该有一些空间

hta*_*ata 4 filesystem disk-usage

这让我困惑了一段时间。我在 Ubuntu 11.04 上。我的根分区已满,我不知道是什么原因造成的。更奇怪的是,当我运行时df -h,这是输出:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             9.2G  8.8G     0 100% /
Run Code Online (Sandbox Code Playgroud)

如您所见,应该有大约 400 MB 可用空间,但Avail显示为 0。可能是什么原因造成的?我什至卸载了一些程序来释放空间,然后它又被填满了。也欢迎提供有关如何找出哪些文件(如果有)填满空间的建议。

use*_*own 5

第一个镜头:错误日志中的高流量。我想如果你会下载视频,你就会知道。:)

 sudo du -sh /var/log
Run Code Online (Sandbox Code Playgroud)
  • -s 是摘要
  • -h 是人类可读的 (k, M, G, T) 后缀

对我来说它是 20M,在日志目录旁边,有一个安装缓存。用

 apt-get clean 
Run Code Online (Sandbox Code Playgroud)

如果这是你的问题。

当然,您应该检查 /home 是否在您的根分区中。

如果您必须迭代搜索大文件,我可以建议一系列命令,这些命令可以重复执行,并且在第一个初始步骤之后速度非常快:

  • 您从顶层的可疑目录开始
  • 然后搜索所有子目录和文件的大小,并按数字排序:

sudo du -s /var/* | sort -n 
0   /var/crash
4   /var/www
44  /var/games
124 /var/run
2306    /var/tmp
18538   /var/log
251876  /var/cache
1053231 /var/lib
Run Code Online (Sandbox Code Playgroud)
  • 我去掉了这个例子,以保持简短。所以我们看到,最大的子目录是 /var/lib,并重复 /var/lib 的步骤。现在搜索要快得多,因为计算结果以某种方式缓存:

sudo du -s /var/lib/* | sort -n 
78116   /var/lib/apt-xapian-index
104580  /var/lib/dpkg
680503  /var/lib/postgresql
Run Code Online (Sandbox Code Playgroud)

等等。按照最大的目录查找更大的文件。您不能在这里使用 -sh,因为数字排序不适用于千字节等的 k/M/G/T。