今天在调整服务器配置,然后发现服务器一直高负载(一直在 10 点几,正常应该是 0.5 左右),查看了很久才发现进程里面多了很多 exim4,大家都知道 exim4 是 debian 默认邮件服务系统。
猜疑
难道是某个博客在发垃圾邮件或者被挂马?但服务器上的博客都是老朋友的,基本在文囧月经以上状态,不太可能有人折腾导致,而且都是“规规矩矩”的,所有被挂马也不太可能。
查找
查看了下 exim4 的日志(/var/log/exim4/mainlog),发现服务器在用 ashun 的邮箱地址发邮件,错误类似:(ooxx@gmail.com 表示邮箱地址)
2013-11-01 18:45:19 1Vbf5W-0001WZ-I9 == ooxx@gmail.com routing defer (-51): retry time not reached 2013-11-01 18:45:19 1Vbd7T-00081Y-D9 == ooxx@gmail.com routing defer (-51): retry time not reached 2013-11-01 18:45:19 1Vbczx-0003pr-Mp == ooxx@gmail.com routing defer (-51): retry time not reached 2013-11-01 18:45:19 1Vbd30-0006Ly-UI == ooxx@gmail.com routing defer (-51): retry time not reached
放G查找相关
网上查了一下,好像很少人碰到,然后去国外找,也少人碰到,不过还是找到了相关资料:大概是待发邮件很多导致大量 exim4 进程。
一般解决方法
可以用下面的命令删除待发邮件
exim -M <message-id>
注:<message-id> 就是上面错误里面的日期后面的那个id,如:1Vbd30-0006Ly-UI
主要问题
但是你知道现在这个 /var/log/exim4/mainlog 有多大么?已经生成了 10 个 gz,全部加起来有 2G 以上!!!我的天啊!而且那个 message-id 不知道有多少个(日志翻了n页,每个id都不同)……
于是我去邮件待发目录:/var/spool/exim4/input 看了下,ls 了半天都没列完文件,可想这里有多少个待发邮件了,起码是“万”级单位了。
真正的解决方法:rm
1. 把 exim4 进程全部 kill 掉:
killall -9 exim4
2. 然后我在 /var/spool/exim4/input 目录下敲了 rm -f * 竟然提示错误,好像是提示太多文件什么的(具体忘了),肿么办?我退出到 /var/log/exim4 目录,直接 rm -rf input 才干掉!然后建立回 input 目录,并且重新把所属者改为 Debian-exim,Orz……(所以解决方法就是直接把 input 目录里面的文件全部 rm 掉)
3. 如果重新启动 exim4 提示错误
ALERT: exim paniclog /var/log/exim4/paniclog has non-zero size, mail system possibly broken ... failed!
打开 /var/log/exim4/paniclog 文件把里面的内容清空即可。
大量待发邮件的始作俑者
我进入 ashun 的 WP 博客后台,经过不断排查,最后确定是 willin 的老插件 my-visitors 造成的大量邮件发送而因为 -51 错误导致生产大量待发邮件。
我后来又这样测试了肯定了是此插件问题导致:只要一开启此插件,前面所说的 input 目录就会不断增加待发邮件!当然,不代表还在用此插件的朋友就一定会发生这种情况,毕竟服务器环境和使用方式的不同,而我没去分析插件全部代码——毕竟作者 willin 早已经抛弃 WordPress 了。
所以,作者停止开发的插件还是不要用了,毕竟 WordPress 还在不断更新!你看 3.7 才几天就 3.7.1 了。
- 本文标题:老 WordPress 插件生成大量待发邮件导致服务器高负载
- 本文链接:https://zww.me/old-wp-plugin-exim4-error-server-high-load.z-turn
- 发布时间:2013年11月01日 20:00
- 版权声明:除非注明,文章均为 zwwooooo 原创,转载请以链接形式标明本文地址!
来一发
再来一发
国际惯例 3楼完毕
@小周博客
牛x三连发
@zwwooooo
不错,有我的风范
说起来我以前也碰到过 My-visitors 插件导致的网站超卡的情况,当时只是一个个插件禁用过去,发现只要禁用掉这个插件,网站就会恢复正常,之后倒是没有分析详细原因~
@莫法邪
所以不更新的老插件还是别用了
小邪,你这网址是啥,访问不了的 - -
@zwwooooo
刚刚决定放新blog的地址 =w=
因为是刚刚决定,所以里面神马都木有 >w<
@莫法邪
你的博客“浮浮沉沉”……
@zwwooooo
> < 希望是最后一次
四楼接这来一发,,,博主搞主机的。。。价格怎么样啊
@廖俊媛
我不是搞主机的,只是几个熟识的朋友的博客放在我的服务器而已。
这种情况要是我遇到,还真不会发现。我的问题也只能空间商他们去琢磨了。
@郑永
VPS 有问题,空间商不会为你调试的……
基本在文囧月经以上状态
@Alex Gao
别绝经就行了
不明觉厉。
@yxiao
折腾一下就知道点了
大量发邮件这事我也遇到过,后来好几个G老502,囧。于是我就放弃sendmail配置的postfix。
@大发
这跟用啥服务没什么关系吧,主要是那个插件问题
非WP用户表示路过
老曾总是折腾无穷乐
好恐怖
让我想起了大发那煞笔。。。。
@kn007
你妹
我站里估计也不少。
貌似在hostloc上听说有这个情况导致服务商直接把账户给暂停了.是这同样的情况
@Yusky
应该是吧,毕竟负载太高
这确实@zwwooooo
我这边的博客版本要不要升级啊 会不会有问题啊?
@Derek
不升级完全没问题,升级就不知道了,起码ashun升级时他的wp就挂了一下…折腾了我1个小时…
我编译lamp都不用mail,越多越事多
还没注意到这个问题过,表示用LNMP都没配置成功过sentmail
@门软网
囧,这个一般情况下默认不就装好了么。。。
都是高科技,看不懂
0.46 0.23 0.19 4/95 12月份到期,正好阿里云有活动,到时候把这个vps变成两个买。
@平板盒子
备案烦,不然我也用