2012-03-23 11 views
5

używam PHP odczytać aktualne obciążenie procesora. Jestem na serwerze vServer, więc shell_exec jest włączony.Debian: Sprawdzaj użycie procesora przy użyciu bash

Próbowałem grep na ps, ale to nie zadziałało. Jak mogę odczytać bieżące użycie% procesora przy użyciu bash?

+0

załadowałaby średnią z bash wystarczy? 'cat/proc/loadavg' także, http://www.cyberciti.biz/tips/how-do-i-find-out-linux-cpu-utilization.html (sysstat) może być czymś, czego możesz chcieć użyć/zainstalować. – TryTryAgain

Odpowiedz

5

Najprostszym sposobem jest po prostu użyć sys_getloadavg

Jeśli chcesz bezpośrednio zapytać OS użyj uptime

$uptimeString = `uptime`; 

lub którykolwiek z existing answers jak to zrobić dokładnie to samo w bash i po prostu zawijaj w tył.

+0

Widziałem wcześniej polecenie getLoadAvg, ale to nie to samo co użycie procesora (%). Zarówno uptime, jak i getloadavg mogą być interesujące. Ale jak mogę sprawdzić użycie procesora? – bytecode77

+0

Czy przeczytałeś istniejące odpowiedzi - np. pierwsza odpowiedź na pytanie, z którym się łączyłem? – AD7six

+0

Ah, właśnie to zobaczyłem. Dzięki! – bytecode77

3

Po zrobieniu bliżej na wszystkich rozwiązań, wymyśliłem ten kod:

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

Apeluje ps -aux i podsumowuje% procesora.

Powiązane problemy