|
手上有一台服务器 一直不太正常 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了,邮件队列开始慢慢往下跑了。
世界太平了。 |
|