Linux系统inodes资源耗尽的情况

上述两个命令可以使用-h参数,命令为df -h和df -hi。从图中看见磁盘空间使用71%,但是inodes使用100%。

3. inodes耗尽解决

inodes的大小在磁盘格式化分区时确定,跟分区的大小相关,分区越大,inodes越大,反之亦然。

linux操作系统根目录一般分区比较小,如果有定时性的小文件产生而又未及时清理,则很容易造成inodes占满。

inodes占满解决步骤:

(1)查看文件最多的目录


  1. for i in /*; do echo $i; find $i | wc -l; done 

如果确定目录范围,把/*写的具体点

最终发现是/var/spool/postfix/maildrop目录下小文件过多,原因如下:由于linux在执行cron时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送给cron所有者。由于客户环境中的sendmail和postfix没有正常运行,邮件发送不成功,导致全部小文件都堆积在maildrop目录下,另由于缺乏自动清理的机制,故此目录下堆积了大量的文件。

经过排查root用户下发现有个每分钟进行一次时钟同步的定时任务,该定时任务每分钟产生一个小文件。

(2) 删除大量文件


  1. ls | xargs -n 1000 rm -rf 需要使用xargs命令,不然会删除失败。   

4. 总结

(1)设置方面在crontab -e 第一行增加MAILTO="" ,就没有文件产生啦

(2)重定向对定时任务设置定向输出文件,不需要日志输出的定时任务可以将日志重定向到/dev/null,如下:


  1. */10 * * * * /tmp/test.sh >/dev/null 2>&1 

(3) 定时清理文件


  1. find 目录 -type f -mtime +30 | xargs -n 1000 rm -f** 
【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章