关于inodes占用100%的问题及解决方法
系统:Centos;一般的Linux系统也可以用这种方法。
情况描述:今天session文件写入时,写入不了,而且连接到服务器上开启服务都开不了,起始以为磁盘空间不足
出现这个错误第一反应是空间满了。
df -h 一看却发现还有挺多没有用
df -i 一看发现是inodes空间满了
df 看了一下
发现空间是足够的,然后df -i 查看了下inodes,发现根目录下的inodes值使用率为100%了,目前已解决,为9%
解决方法:通过以下脚本进行检查,查看到底哪个目录下面的文件最多:
for i in /*; do echo $i; find $i | wc -l; done(如果确定是某个目录下面,则/转换为该目录绝对路径,如/var/spool,则使用for i in /var/spool/*; do echo $i; find $i | wc -l; done)
最终发现/var/soppl目录最多。然后又进一步确定是/var/spool/clientmqueue 目录下面有几十万个文件,机器已经无法正常显示了,后来百度查看了下这个目录是邮件服务器,处理垃圾邮件活病毒邮件隔离的,明白原因了,删除该目录下所有文件;使用xargs命令来删除数量比较多的文件:
cd /var/spool/clientmqueue
ls | xargs rm -f