【问题标题】:Debian: Find out CPU usage using bashDebian:使用 bash 找出 CPU 使用率
【发布时间】:2012-04-08 05:02:42
【问题描述】:

我正在使用 PHP 来读取当前的 CPU 使用率。我在一个 vServer 上,所以 shell_exec 是启用的。

我在ps 上尝试过grep,但没有成功。 如何使用 bash 读取当前的 % CPU 使用率?

【问题讨论】:

标签: php linux bash shell debian


【解决方案1】:

仔细查看所有解决方案后,我想出了以下代码:

<?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 %。

【讨论】:

    【解决方案2】:

    最简单的方法就是使用sys_getloadavg

    如果要直接询问操作系统,请使用 uptime

    $uptimeString = `uptime`;
    

    existing answers 中的任何一个,以了解如何在 bash 中执行完全相同的操作并用反引号括起来。

    【讨论】:

    • 我以前见过getLoadAvg 命令,但它与CPU 使用率(%) 不同。 uptime 和 getloadavg 也可能很有趣。但是我怎样才能知道 CPU 使用率呢?
    • 你读过现有的答案吗?我链接到的问题的第一个答案?
    • 哦,等一下。它总是显示相同的值,除非我等待几秒钟。我的 PHP 脚本总是读取相同的值...
    猜你喜欢
    • 1970-01-01
    • 2011-12-08
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    • 2018-06-18
    • 2011-02-12
    相关资源
    最近更新 更多