几个小时前,我的根分区已经满了,我把文件移开了,然后df报告:
# df -h Filesystem Size Used Avail Use% Mounted on /dev/hda1 183G 174G 0 100% /
所以应该有9GB免费,但可用的报告0和使用仍然是100%。
我testing了根,例如
# echo test >a ; cat a test
它按预期工作; 然而作为一个普通的用户,我仍然得到错误:
$ echo test >a ; cat a bash: echo: write error: No space left on device
我进行正面testing的根主目录和我的主目录在同一个分区上.fstab条目是:
/dev/hda1 / ext3 noatime,defaults,errors=remount-ro 0 1
大多数文件系统为root保留一定的比例,所以你仍然可以root身份login并解决磁盘空间问题。 通常这是5%。 9GB大约是183GB的5%,所以这是有道理的。 你可以看到使用tune2fs保留了多less:
# tune2fs -l /dev/sda1 | grep -i reserved Reserved block count: 936488 Reserved GDT blocks: 1019 Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root)
您可以使用修改它
# tune2fs -m 3 /dev/sda1 tune2fs 1.41.9 (22-Aug-2009) Setting reserved blocks percentage to 3% (561893 blocks)
在现代大型驱动器上,5%可能有点过分,你可能想把它设置得更低。 你不想把它设置为零。
即时通讯bob,尝试df -i,如果你有一堆病态输出crontabs例如,你的/ var / spool / clientmqueue /目录可以得到填补
看看INODES吧。 在“vanilla”安装中,如果你有许多小文件,他们可以使用inode,但不能占用空间。 你会看到你有可用的空间,但是由于你的inode已满,你将无法使用这个空间。
“默认情况下,Unix中的每个文件系统都为超级用户(root)预留了一些空间,这意味着没有普通的Unix用户可以将文件系统填充到100%,所以它总是有足够的空间来继续正常的function。 “
来自: http : //www.unixtutorial.org/commands/tune2fs/
另一件要检查的事情是查看该文件系统上是否有打开的文件(特别是日志)。 在文件实际closures之前,删除文件不会清除磁盘上的空间。
我敢打赌$ 1克莱德有答案。 进程在该设备上打开一个文件。 在Linux中,文件并没有真正被删除,直到打开的进程放开它。
我会开始: lsof | grep hda1 lsof | grep hda1