2012-03-23 29 views
5

Estoy usando PHP para leer el uso actual de la CPU. Estoy en un vServer, entonces shell_exec está habilitado.Debian: Descubre el uso de la CPU usando bash

He intentado grep en ps, pero no funcionó. ¿Cómo puedo leer el% de uso de CPU actual con bash?

+0

cargaría la media bash de suficiente? 'cat/proc/loadavg' también, http://www.cyberciti.biz/tips/how-do-i-find-out-linux-cpu-utilization.html (sysstat) puede ser algo que quieras usar/instalar. – TryTryAgain

Respuesta

5

La forma más sencilla es simplemente usar sys_getloadavg

Si desea solicitar directamente el sistema operativo, utilice el tiempo de actividad

$uptimeString = `uptime`; 

o cualquiera de los existing answers a la manera de hacer exactamente lo mismo en bash y solo envuelve los palos de atrás.

+0

He visto el comando getLoadAvg anteriormente, pero no es lo mismo que el uso de CPU (%). Tanto el uptime como el getloadavg también podrían ser interesantes. Pero, ¿cómo puedo averiguar el uso de la CPU? – bytecode77

+0

has leído las respuestas existentes, p. la primera respuesta en la pregunta a la que me he vinculado? – AD7six

+0

Ah, acabo de verlo. ¡Gracias! – bytecode77

3

Después de echar un vistazo más de cerca a todas las soluciones, se me ocurrió con este código:

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

que llama ps -aux y resume la CPU%.