Ubuntu提示"设备上没有空间",但实际上还有很多空间。

59

我几乎做任何事情都会收到“设备上没有剩余空间”的错误,甚至使用tab键自动补全命令也是如此!

但当我运行df -h时,输出为:

ubuntu@ip-10-0-2-108:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       99G  6.5G   88G   7% /
udev            3.7G  8.0K  3.7G   1% /dev
tmpfs           1.5G  184K  1.5G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            3.7G     0  3.7G   0% /run/shm
none            100M     0  100M   0% /run/user
/dev/xvdb       414G  199M  393G   1% /mnt
overflow        1.0M  1.0M     0 100% /tmp

在我看来,这似乎有大量的空间。 df -i 看起来也很相似:

ubuntu@ip-10-0-2-108:~$ df -i
Filesystem       Inodes IUsed    IFree IUse% Mounted on
/dev/xvda1      6553600 94227  6459373    2% /
udev             951353   393   950960    1% /dev
tmpfs            953649   274   953375    1% /run
none             953649     3   953646    1% /run/lock
none             953649     1   953648    1% /run/shm
none             953649     1   953648    1% /run/user
/dev/xvdb      27525120    11 27525109    1% /mnt
overflow         953649    12   953637    1% /tmp

我正在使用 Amazon EC2 上的 Ubuntu 12.04 实例。

以下是一些错误弹出的例子:

ubuntu@ip-10-0-2-108:~$ sudo crontab -e
/tmp/crontab.RvYjrR/crontab: No space left on device

ubuntu@ip-10-0-2-108:~$ ls /va (hit tab for autocomplete)

-bash: cannot create temp file for here-document: No space left on device
-bash: cannot create temp file for here-document: No space left on device

然而服务器似乎正在运行,一切看起来都在正常工作。到底是怎么回事??


14
你看到了吗,你的/tmp已经满了,使用率达到了100%。 - iamauser
4
这个问题似乎不适合此处,因为它涉及到 Ubuntu 相关的内容;应该发表在 Unix 或者 Askubuntu 网站上。 - Keith Thompson
7
对于那些寻求答案但仍然无法弄清楚情况的人,请检查您的Inodes。运行 df -i 命令,查看您的 IUse% 是否接近或等于100。如果是,您应该尽可能删除许多0字节或小文件。 - sjagr
2
定位文件夹中占据过多空间的最快方法是从根文件夹开始,通过逐层缩小文件夹文件大小来进行查找。你可以通过以下步骤从根文件夹开始进行查找:`sudo du -h --max-depth=1 /` 接下来,你可以选择增加深度,即查找更深层级的目录:`sudo du -h --max-depth=2 /`或者更快的方式是查找哪个文件夹占用了最多磁盘空间,然后在该文件夹上执行相同操作:`sudo du -h --max-depth=1 /home//`一旦找到问题所在,只需删除该文件夹即可: rm -rf <path to overfull-folder> - Agile Bean
@AgileBean 这真的很有帮助,找到了导致磁盘满的pm2日志文件:谢谢。 - Rakshitha Muranga Rodrigo
@RakshithaMurangaRodrigo,很高兴能帮助到您! - Agile Bean
1个回答

31

有可能是您的内存或其他空间已经用尽,导致系统挂载了一个溢出文件系统,但由于某些原因,它并没有消失。

尝试卸载溢出分区:

umount /tmp
或者。
umount overflow

必须先关闭Tomcat,因为它一直占用设备。看起来Tomcat的临时目录正在填充或发生某些问题。 - Or Gal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接