系统:FreeBSD,其实一般Linux系统都适用的
情况描述:创建文件touch或者创建目录mkdir都会提示:Unable to create file /xxx/xxx: No space left on device
mysql无法正常打开。。。。很多不正常的现象。
起初认为磁盘空间不足,df -h :
发现空间是足够的,df -i后:
发现挂载在根目录下的Inodes使用率为100%(上图为清理过之后的数据,为94%)
解决方法:通过以下脚本进行检查,查看到底哪个目录下面的文件最多:
for i in /*; do echo $i; find $i | wc -l; done(如果确定是某个目录下面,则/转换为该目录绝对路径,如/var/log,则使用for i in /var/log/*; do echo $i; find $i | wc -l; done)
最终发现nagios中的checkresults目录下面有上百万个文件,机器已经无法正常显示了,想起nagios监控了约500个服务器,并且都是实时监控,明白原因了。删除该目录下面的所有文件:rm -f *.*
但是在使用rm命令的时候出现:/bin/rm: Argument list too long 。搜百度,原来是文件过多导致的错误,使用xargs命令来删除数量比较多的文件:
ls | xargs -n 10 rm -rf
执行了大约48个小时之后,最终解决问题。
阅读(2706) | 评论(0) | 转发(0) |