亚马逊EC2微型实例 - 用完了空间?

Pav*_*vel 5 linux debian amazon amazon-ec2 amazon-web-services

df -h 表明只有71%的空间使用:

root@ip-xxx-xxx-xxx-xxx:/home/myuser# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          7.9G  5.3G  2.2G  71% /
udev             10M     0   10M   0% /dev
tmpfs            60M   88K   60M   1% /run
/dev/xvda1      7.9G  5.3G  2.2G  71% /
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           120M     0  120M   0% /run/shm
Run Code Online (Sandbox Code Playgroud)

但是,没有任何东西可以再创建文件,甚至MC无法启动

#mc
Cannot create temporary directory /tmp/mc-root: No space left on device (28)
Run Code Online (Sandbox Code Playgroud)

Php无法创建文件

PHP Warning:  fopen(/home/.../file.json): failed to open stream: No space 
left on device in /webdev/www/..../my.php on line 10
Run Code Online (Sandbox Code Playgroud)

会是什么呢?

我在Micro实例上使用Debian 7.

Jak*_*uld 7

df -h以人类可读的格式显示磁盘可用空间.但这听起来像一个inode表问题,你可以通过检查df -i.例如,这是我在运行Ubuntu 12.04的Amazon ECS微实例上的inode用法:

Filesystem     Inodes  IUsed  IFree IUse% Mounted on
/dev/xvda1     524288 116113 408175   23% /
udev            73475    379  73096    1% /dev
tmpfs           75540    254  75286    1% /run
none            75540      5  75535    1% /run/lock
none            75540      1  75539    1% /run/shm
Run Code Online (Sandbox Code Playgroud)

根据输出,我打赌您的inode表填充到边缘.inode表记录每个单独的文件数据.不仅仅是多少空间.这意味着您可能有71%的使用率,但71%可以填充数千个文件.因此,如果你有大量的小文件,你可能仍然在技术上有可用空间,但inode表已满,所以你必须清除它以使你的系统再次完全正常运行.

关于清除它的最佳方法不太清楚,但是如果你知道一个目录中有大量文件你可以立即抛弃,我建议先删除它们.对于它的价值,这个问题和答案线程看起来有一些不错的想法.