您的位置:首页 > Web前端 > Node.js

inodes占用100%的问题

2016-08-11 16:23 197 查看

/dev/mapper/VolGroup00-LogVol00 满了关于inodes占用100%的问题及解决方法

转自:http://blog.sina.com.cn/s/blog_4d10f5530102vt5b.html

/dev/mapper/VolGroup00-LogVol00 是逻辑卷/根目录才是实际挂载的目录。根分区都塞满了,自己清理一些垃圾文件或者加硬盘在线扩容、主要看看/tmp /var目录下的一些临时文件和一些日志文件,选择些的进行清理给你个命令`看下哪个目录下东西大find / -size +10M -exec ls -lh {} \;

df -i

​for i in ./*; do echo $i; find $i | wc -l; done 查文件数量

今天nagios报警,一台服务器的disk满了,使用du -sh * 或 du-sh /*查看目录的大小,查找占用空间大的目录/var/spool/clientmqueue....

然后我就想/var/spool/clientmqueue这个目录干嘛用的,纠结了半天,谷歌了下,原来/var/spool/clientmqueue是如果系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件。

服务器上确实有cron定时执行数十个脚本,而且都没有设置输出定向,日积月累的文件都被保存在/var/spool/clientmqueue目录下面乐= =.

解决方法:在cron的自动执行语句后加上> /dev/null 2>&1例:4 3 * * * /usr/bin/w > /dev/null 2>&1这样就OK拉,就不会写到那个目录下了....

在这里说一点,/var/spool/clientmqueue目录文件太多,rm -rf *时候会提示:

“-bash: /bin/rm: Argument list too long“..意思是参数太长,rm干不了。可以用ls | xargs rm-f这个命令将/var/spool/clientmqueue目录下所有文件删除。

OK。清理完毕~

情况描述:今天我们邮件服务器收发不了邮件了,而且连接到服务器上开启服务都开不了,起始以为磁盘空间不足,df 看了一下

发现空间是足够的,然后df -i 查看了下inodes,发现根目录下的inodes值使用率为100%了

解决方法:通过以下脚本进行检查,查看到底哪个目录下面的文件最多:

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/amavisd/quarantine目录下面有上百万个文件,机器已经无法正常显示了,后来百度查看了下这个目录是邮件服务器,处理垃圾邮件活病毒邮件隔离的,明白原因了,删除该目录下所有文件;使用xargs命令来删除数量比较多的文件:

ls | xargs -n 10 rm -rf

执行了大约10多小时之后,最终解决问题。

操作命令:

for i in /var/spool/*; do echo $i; find $i | wc -l; done

[root@L-AP-3-37 ~]# cd /var/spool/clientmqueue

[root@L-AP-3-37 clientmqueue]# ls | xargs rm -f
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: