我想编写一个脚本(在linux上使用bash或Perl ),用于监视Apache并在它超过X% CPU时重新启动Apache。我知道我需要获得Apache的总CPU使用率,因为它打开了子进程。
如何获取Apache的总CPU使用率?
发布于 2012-08-13 22:16:31
尝试以下操作,但确保使用实际的Apache-process名称更新Apache-process名称(我的是httpd):
ps u -C httpd | awk '{sum += $3} END {print sum}'这将获得正在运行的所有apache进程的列表,并使用awk对ps输出的%CPU列求和。
发布于 2012-10-05 17:58:41
这将返回父apache进程和所有子进程的总和负载,以百分比为单位,没有任何其他信息,因此您可以轻松地以任何方式使用此脚本:
ps --no-heading -o pcpu -C httpd | awk '{s+=$1} END {print s}'发布于 2012-08-13 22:11:06
这将列出每个apache2进程的总CPU使用率:
ps u -C apache2 | awk '{print $3}' | grep -v "%CPU"但是,请注意,即使当前CPU使用率很高,总(=平均值) CPU使用率也可能相当低,特别是对于长时间运行的进程。
https://stackoverflow.com/questions/11935910
复制相似问题