我刚刚收到来自我们构建服务器的 Nagios 警告,指出进程数已超出限制。查看我们的 Munin 图表,我可以看到进程数从 12 月份的 280 个稳步增加到当前的 430 个。
我想知道如何找出进程数量增加的原因,以便我可以重新启动服务或根据需要调整其配置。
服务器详细信息:CentOS 5.1,主要运行的是我们的 Hudson 构建服务器(在 Tomcat 下运行)和 Apache httpd 服务器(主要只是 Hudson 的代理)。我尝试过重新启动 httpd 和 Tomcat,但进程数保持不变。“top”表示只有一个进程处于活动状态;其余进程处于休眠状态。
答案1
定期尝试此操作,以查看“特定”命名进程的进程计数如何上升和下降。它忽略 PID,只查看 CPU 时间之外的行尾。
ps -ef | perl -a -F'\d+:\d+:\d+ ' -n -e 'print @F[1]' -- | sort | uniq -c | sort -n
这在 RHEL 机器上有效。你可以在了解启动进程列表的基线后将其放入 cron 中。