监控进程卡住导致内存耗尽
起因
大早上收到报警,几台机器内存不足
想上去查原因,已登录不上
排查
查看监控,发现以下现象
- 内存耗尽
- cpu cs在某个时间开始飙高
- 其他部分机器也有内存使用开始下降的趋势
找了1台还能登录的机器看了下,sleep状态的进程数目6000+
都是监控上报进程
messages里面没什么有用的信息,cron的log中有如下条目
crond[21657]: (root) INFO (Job execution of per-minute job scheduled for 18:08 delayed into subsequent minute 18:13. Skipping job run.)
说明是cron任务卡住
另外strace跟了下监控上报进程,全在wait状态
杀对应进程,故障恢复
ansible批量pkill -f $PATTERN
改进
- 加入task数量监控
- 监控上报程序自防御措施
- OOM监控,但此例未见OOM
BTW: 这篇水文主要是测试hexo ^_^
-EOF-