我一直在寻找一种方法来显示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()
。
所以,我想知道你们中是否有人可以看一下并告诉我:
- 如果这是获得用户准确的cpu使用百分比的正确方法。
- 我该如何处理被废弃的函数?
注:我在PHP v7.0 RC3上使用它
期待答案
-
'ps'命令是linux中获取cpu使用情况的正确命令。
-
在这种情况下,你可以安全地使用preg_replace函数而不是ereg_replace,并爆炸而不是分裂。
$ cols =爆炸("preg_replace (' +', ' ', $ 流程));