通过PHP获取CPU百分比的方法


Ways to fetch the CPU percentage via PHP

我一直在寻找一种方法来显示CPU的百分比正在被服务器上的帐户使用(而不是整个服务器),以便特定的帐户可以理解,如果他们超载服务器。因此,经过大量的谷歌搜索,我终于找到了这段代码:

<?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);
?>

这似乎给出了正确的结果,但它是为split()抛出PHP Depricated Error &ereg_replace()

所以,我想知道你们中是否有人可以看一下并告诉我:

  1. 如果这是获得用户准确的cpu使用百分比的正确方法。
  2. 我该如何处理被废弃的函数?

注:我在PHP v7.0 RC3上使用它

期待答案

  1. 'ps'命令是linux中获取cpu使用情况的正确命令。

  2. 在这种情况下,你可以安全地使用preg_replace函数而不是ereg_replace,并爆炸而不是分裂。

    $ cols =爆炸("preg_replace (' +', ' ', $ 流程));