Я использую PHP для чтения текущего использования ЦП. Я нахожусь на vServer, поэтому shell_exec включен.
Я пробовал grep
на ps
, но это не сработало. Как я могу прочитать текущее использование% CPU с помощью bash?
Самый простой способ – просто использовать sys_getloadavg
Если вы хотите напрямую спросить ОС, используйте время работы
$uptimeString = `uptime`;
Или любой из существующих ответов на то, как делать то же самое в bash и просто обертывать backticks.
Рассмотрев все решения, я придумал этот код:
<?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%.