文章目錄

最近线上生产环境出了一次故障,大量机器出现大量僵死进程,导致服务僵死。部门里组织同事小黑屋查找原因,找了大半天终于找到原因,罪魁祸首竟然是安全部门的漏洞扫描。

刚开始的时候,发现机器上有大量Salt minion进程,以为是Salt的原因。后来以为同事发现这些僵尸进程的父进程都是init进程,而init进程处于T(stopped)状态,所以这些僵尸进程都没法回收,导致大量僵尸进程堆积。同事还推荐使用kill -SIGCONT pid恢复进程状态。

接下来就是要找到使init变成T状态的根源,经过排查,终于锁定使安全部门的漏洞扫描。按常理,正常的扫描应该是可以反复执行,不会对系统造成干扰。但安全部门新增加的扫描插件却会发送stop信号给init进程,而在CentOS 6.6上,init进程响应了这个信号,于是进入stopped状态。于是init无法回收僵尸进程,导致僵尸进程越来越多。

文章目錄