磁盘空间迅速被写满,造成linux应用进程停止运行;
大量sendmail进程和Inodes写满的解决
解决过程:
清理了部分空间想先恢复ITM,但是发现磁盘空间迅速被写满,查看进程有6000+的sendmail在跑,free -m看系统内存被耗尽,查看并没有sendmail服务和postdrop服务,于是批量kill掉sendmail
ps -ef|grep "/usr/sbin/sendmail"|grep -v grep |awk '{print $2}'|xargs kill
系统性能恢复正常,过一会儿sendmail又每分钟增加一个进程的出现,经过查找,解决办法是crontab首航增加:MAILTO="",经过观察sendmail问题解决;但是crontab -e仍然提示/tmp无法创建新文件;
通过查看/tmp并没有mount(如果是单独mount的,可以unmout -l /tmp来解决),是占用的系统资源,df -i查看磁盘inodes 占用100%,系统仍然不正常;需要删除一部分文件来释放inodes,通过下面命令查找各目录下文件数量:
for i in /*; do echo $i; find $i |wc -l|sort -nr; done
首先sendmial会在下目录:/var/spool/postfix/maildrop/ 产生大量文件,可直接删除,但是文件数量过多时,会报错:-bash: /bin/rm: 参数列表过长,解决办法:
cd /var/spool/postfix/maildrop/
find . -name "*" | xargs rm -rf
删除指定大小的文件:
find . -name "*" -type f -size 0c | xargs -n 1 rm -f
以此类推,清理可删除的文件清理inodes
系统恢复正常。
Linux磁盘与Inodes满了的解决
本文解决Linux系统中磁盘空间迅速被写满导致应用进程停止的问题,包括大量sendmail进程的处理和Inodes占用率100%的情况。通过分析原因并采取针对性措施,最终恢复正常。
830

被折叠的 条评论
为什么被折叠?



