今天在linux系统创建文件时碰到“No space left on device” 错误,但是用命令“df -lh”查看发现空闲空间还有很多。所以可以排除空间已满的情况。那么导致文件生成失败还有另一个原因,就是文件索引节点inode已满。
查看inodes使用情况用命令“df -ih”,例如:
root@ubuntu:# df -ih Filesystem? ?? ?? ?? ???Inodes IUsed IFree IUse% Mounted on /dev/mapper/ubuntu-root? ?464K??464K? ? 0K??100% / udev? ?? ?? ?? ?? ?? ?? ? 123K? ?421??122K? ? 1% /dev tmpfs? ?? ?? ?? ?? ?? ?? ?125K? ?309??125K? ? 1% /run none? ?? ?? ?? ?? ?? ?? ? 125K? ???4??125K? ? 1% /run/lock none? ?? ?? ?? ?? ?? ?? ? 125K? ???1??125K? ? 1% /run/shm /dev/vda1? ?? ?? ?? ?? ???122K? ?227??122K? ? 1% /boot
果然inodes使用已经是100%了。
解决办法,可以先逐一找到哪个目录使用比较多,然后删除。
登录 SSH,运行下面的命令分析根目录下每个目录下面有多少个文件,命令类似如下。
for i in /*; do echo $i; find $i | wc -l; done
比如最好我找到是apache下的日志文件创建太多的原因,删除日志后就好了。
for i in /var/log/*; do echo $i; find $i | wc -l; done
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码官网:www.west.cn