AWS EC2 - 设备上没有剩余空间

AWS EC2 - 设备上没有剩余空间

我有一个 EC2 实例,当我登录时,我得到

mktemp: failed to create file via template '/tmp/.colorlsXXX': No space left on device

然而当我这样做时df -h我看到

Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.8G  4.2G  3.5G  55% /
devtmpfs        812M   16K  812M   1% /dev
tmpfs           828M     0  828M   0% /dev/shm

做事df -i让我

/dev/xvda1     524288 524288      0  100% /
devtmpfs       207790    414 207376    1% /dev
tmpfs          211891      1 211890    1% /dev/shm

这里发生了什么?

答案1

您已经用尽了文件系统上所有可用的 inode。您可能在某个目录中有一个包含大量小文件的目录。您需要找到该目录并删除一些文件。

要搜索服务器中哪个文件夹正在达到 inode 限制,您可以运行以下命令:

查找 . -xdev -type f | cut -d“/”-f 2 | sort | uniq -c | sort -nr

命令来自这里

答案2

我尝试时发生此错误安装Ubuntu 桌面按照AWS知识中心的指示。

然后我发现这里如何找到所有包含大量小文件的目录:

for i in /*; do count=`sudo find $i | wc -l`; if [ $count -gt 10000 ]; then echo $i $count; fi; done

/lib 18982
/proc 35223
/sys 36490
/usr 253941
/var 14584

对每个可疑子目录再次运行该程序(对我来说它隐藏在/usr/*)。

但在删除这些子目录之前射频(如果您非常确定!),尝试安全地删除由其他软件包安装但不再需要的 Linux 软件包:

sudo apt-get -f install
sudo apt-get autoremove

跑步DF-我再次查看现在是否有更多空间。

相关内容