在(linux)中获取apache总cpu使用率

时间:2012-08-13 14:03:26

标签: linux apache cpu

我想编写一个脚本(在linux上使用bash或Perl),它监视Apache并在超过X%CPU的情况下重启Apache。 我知道我需要获得Apache的总CPU使用率,因为它打开了子进程。

如何获取Apache的总CPU使用率?

3 个答案:

答案 0 :(得分:3)

尝试以下操作,但请确保使用您的实际名称更新Apache进程名称(我的名字为httpd):

ps u -C httpd | awk '{sum += $3} END {print sum}'

这将获得所有正在运行的apache进程的列表,并使用%CPUps输出的awk列求和。

答案 1 :(得分:1)

这将返回父apache进程和所有子进程的总和,以百分比表示,没有任何其他信息,以便您可以以任何方式轻松使用此脚本:

ps --no-heading -o pcpu -C httpd | awk '{s+=$1} END {print s}'

答案 2 :(得分:0)

这将列出每个apache2进程的总CPU使用率:

ps u -C apache2 | awk '{print $3}' | grep -v "%CPU"

但请注意,即使当前CPU使用率很高,总的(=平均)CPU使用率也可能相当低,尤其是对于长时间运行的进程。