Debian:使用bash查找CPU使用情况

5

我正在使用PHP读取当前CPU使用率。我在一个vServer上,因此启用了shell_exec。

我尝试过对ps使用grep,但它没有起作用。 如何使用bash读取当前的% CPU使用率?


从bash中读取平均负载是足够的吗?cat /proc/loadavg此外,http://www.cyberciti.biz/tips/how-do-i-find-out-linux-cpu-utilization.html (sysstat) 是你可能想要使用/安装的东西。 - TryTryAgain
2个回答

5
最简单的方法就是使用sys_getloadavg函数。
如果你想直接向操作系统查询,可以使用uptime命令。
$uptimeString = `uptime`;

或者你可以参考已有的答案,在bash中执行相同的操作并用反引号括起来。具体答案请查看这里

我之前见过getLoadAvg命令,但它并不等同于CPU使用率(%)。uptime和getloadavg都可能很有趣。但是我该如何找出CPU使用率呢? - bytecode77
你读过现有的答案了吗?例如,我链接的问题中的第一个答案? - AD7six
等一下。它总是显示相同的值,除非我等几秒钟。我的PHP脚本总是读取相同的值... - bytecode77

3
在仔细查看所有解决方案后,我想出了这段代码:

<?php
    exec('ps -aux', $processes);
    foreach($processes as $process)
    {
        $cols = split(' ', ereg_replace(' +', ' ', $process));
        if (strpos($cols[2], '.') > -1)
        {
            $cpuUsage += floatval($cols[2]);
        }
    }
    print($cpuUsage);
?>

它调用 ps -aux 并对 CPU% 进行求和。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接