php - Linux : Get total cpu usage by httpd

标签 php linux unix ps

我需要在 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/

相关文章:

c - 别名、变量和文件名

C++ 使用 Poco 库编译错误 - 包含空格的路径名

unix - Jenkins 似乎是通过 ssh 启动的脚本中 nohup 的目标,我该如何防止?

php - 更新 mysql 数据库中的记录时,bind_param() 出错

php - 如何安装 ffmpeg-php Mac OS X 豹

php,mysql,html,css - 当有数据库数据时隐藏特定文本

php - crontab 内存不足

类似于 C# 的 C++ 库?

php - 使用 PHP PDO 插入多行

linux - linux下模块列表在哪里