我需要在 php 报告中显示服务器上 httpd 进程使用的 CPU 总百分比。
我正在调用来自 exec 的以下内容:
ps -e -o %mem,%cpu,cmd | grep httpd | awk ' {memory+=$1;cpu+=$2} END {printf("%05.2f ",memory);printf("%05.2f\n",cpu)}'
但是上面命令报告的 CPU 使用率和 top 命令报告的不匹配。
我需要报告 --> 如果 CPU 忙于 40%、10% 的 httpd 进程、20% 的 mysqld 进程、10% 的 perl 进程,那么我需要报告 10% 的 httpd。 (假设没有其他进程)。
我看到了这个:get apache total cpu usage in (linux)
但我知道 ps 命令返回进程消耗的 CPU 占总 CPU 消耗百分比的百分比。我知道它变得越来越乱,所以下面的例子应该有所帮助。
如果 httpd 消耗了 10% 的 CPU,而 CPU 的忙碌率为 60%,那么 httpd 使 CPU 忙碌的实际贡献是 ((100/60)*10) = 16.66 %。它是否正确?还有什么是获取一组同名进程的 CPU 使用率的最佳方法。
最佳答案
在 ssh 中试试这个
ps aux | grep "httpd" | awk '{sum1 +=$3}; END {print sum1}'
输出是:
10.5
这是内存的总和
ps aux | grep "httpd" | awk '{sum1 +=$4}; END {print sum1}'
关于php - Linux : Get total cpu usage by httpd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15356168/