设为首页 收藏本站
查看: 2284|回复: 0

[经验分享] sendmail狂占进程,导致平均负载升高;

[复制链接]

尚未签到

发表于 2015-9-15 07:40:45 | 显示全部楼层 |阅读模式
  实操:
  #tail -100 /var/spool/mail/root
  #mail
  
  --------------------------------------------------
  停止服务后,重启服务,然后:
# tail -f  /var/log/maillog
结果全是:
grew WorkList for /var/spool/mqueue to
于是:
#cd /var/spool/mqueue
#du -sh
返回5G
执行:
# ls|xargs rm -f
------------------------
*.**.*.* 上sendmail进程疯狂占用cpu,导致平均负载
到6多;service sendmail 后,平均负载下降了;
检查/var/log/maillog  tail -50 maillog
很多报 stat=Deferred: Connection refused by [127.0.0.1]
----------------------------------
检查:
[iyunv@localhost log]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain
[iyunv@localhost log]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain   localhost
[iyunv@localhost log]#
  ============================================
  参考:
  
  http://magiczhang1004.wordpress.com/2009/12/03/top%E9%87%8C-wa%E3%80%81load-average-%E5%81%8F%E9%AB%98%E7%9A%84%E6%95%85%E9%9A%9C%E5%A4%84%E7%90%86%E4%B8%80%E5%88%99/
  
  手上有一台服务器 一直不太正常 top里面%wa一直50以上 load average一直25.。
  前几天终于有空了 于是花些时间整了整。
  
  一开始还是从top着手
  wait高 平均负载高很明显就是CPU等待数据处理 瓶颈应该是在硬盘上
  用IOSTAT –x 可以看到 %util高到恐怖~ 99.6%
  看top里面的进程 状态为D的是不可中断的睡眠状态 就是处于锁状态下
  这种 很有可能是导致平均负载高的罪魁祸首
  
  我这里是sendmail
  大概同时有4、5个sendmail进程在里面处于D状态
  联想到之前检查硬盘的时候maillog增长非常迅速,于是tail了一下
  一看超夸张 一秒钟刷几十条
  sm-msp-queue[26035] Connection refused by [127.0.0.1]
  这种错误log 这个屏幕就满屏满屏的往上刷 原来这台服务器发信量这么大啊。。
  每天的maillog都有4G多 原来是这个原因
  vi /etc/mail/sendmail.cf
  找
  O DaemonPortOptions=Port=smtp,Addr=X.x.x.x,Name=MTA
  这么一行
  改成
  O DaemonPortOptions=Port=Name=MTA
  这样就监听所有接口了
  回到top下看 load average下到了5.多~差别这么大,
  可还是不对啊~任务负载5.多还是偏高
  回到tail -f的日志端 这次不刷找不到127.0.0.1的错了
  在刷着发信记录 还是每秒钟十多条的样子~
  难道还是日志写磁盘的问题么
  vi /etc/syslog.conf
  把 mail.* 改成mail.error
  这样子maillog就只记录错误以上程度的日志了
  tail -f日志
  恩。。屏幕总算不刷了 可是每隔十几秒就会跳一句
  grew WorkList for /var/spool/clientmqueue   10000
  这个数字不断往上涨。。
  考啊 信原来都没法出去 堆积在队列里面啦~几分钟就几万封信堆着了
  /var/spool/clientmqueue 瞬间涨到了几个G
  没办法 重新把mail日志打开到INFO档
  一条条仔细看日志记录
  发现好像是域名的解析问题
  vi /etc/hosts
  把localhost、local、主机名.域名 全都放到 127.0.0.1里面
  继续看日志。。
  又换了种错~
  里面有提到postmaster这个账号
  于是继续到/etc/aliases里面去看
  真的有postmaster这个转发账号
  可是最后到postmaster这里就没有再转发的方向咯 有一条转向root的注释
  想想还是不要转到root了。。
  
  新建一个postmaster账号看看
  信瞬间就进来了 结果进个mail都花了好久 q退出来好久没反应 过了段时间说多少多少mail已经保存到了邮箱
  不行队列还是排着 继续往上涨
  翻了一封信 看说主要是XX几天前的一封信没有发出去 失败了等等的提示信息
  恩。。/var/spool/mail下面postmaster的账号又在不断增长
  这个不是和不断写错误日志结果一样 狂写硬盘么。。
  
  来个狠的算了 把到postmaster的邮件全部转到null里面去
  在/etc/aliases 里面把postmaster: /dev/null
  删了postmaster账号
  
  ok了,邮件队列开始慢慢往下跑了。
  
  世界太平了。
  
  
  http://bbs.iyunv.com/topics/190066942
  
  rc.conf中加入
sendmail_enable="NONE"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
保存后,重启.
rm -r /var/spool/mqueue
是不是sendmail的配置没有限制转发,被当成垃圾邮件中转站了
tail -n 100 /var/log/mail.log

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-113669-1-1.html 上篇帖子: 动态SQL,嵌套游标,INSTR,SendMail 下篇帖子: sendmail导致机器io占用偏高
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表