|
实操:
#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 |
|
|