Quiero saber la memoria y el uso de la CPU en php, porque estoy usando cronejobs a veces la CPU está sobrecargada, así que en este caso no quiero comenzar más proceso, solo quiero saltear este cron.¿Cómo puedo obtener el uso de la CPU y la memoria?
Respuesta
creo que mejor forma de hacerlo es conseguir normalito carga, ya que no sólo depende de la CPU, pero también en la velocidad del disco duro.
Aquí está un doc: http://php.net/manual/en/function.sys-getloadavg.php
Tome un vistazo a esta biblioteca http://phpsysinfo.sourceforge.net/
Demostración: http://phpsysinfo.sourceforge.net/phpsysinfo/index.php?disp=dynamic
Editar: Esto fue tomado de comentario de Stephen. Lo puse aquí solo para que tenga suficiente exposición para que la gente lo lea.
Solo una nota: esta biblioteca no es muy ágil. No pude encontrar la forma de simplemente devolver CPU o solo RAM, devuelve TODO, lista de hardware, estadísticas de red, uso de hd, información de os, casi todo lo que pueda pensar de. Esto tarda unos 4 segundos en completarse, por lo que puede no ser la mejor opción si desea un valor de actualización constante utilizando ajax o algo por el estilo.
Sólo una nota: esta biblioteca no es muy ágil No pude encontrar la manera de devolver la CPU o solo RAM, devuelve TODO, lista de hardware, estadísticas de red, uso de HD, información de OS, prácticamente todo lo que se te ocurra. Esto tarda unos 4 segundos en completarse, por lo que puede no ser la mejor opción si desea actualizar constantemente el valor utilizando ajax o algo por el estilo. –
@Stephen Gracias por la información de Stephen. He citado tu comentario en mi respuesta. En caso de que algunas personas puedan perderlo. –
recientemente tengo algún problema para obtener la carga de la CPU y me siento como compartirlo.
Aquí fue mi solución bruja me ayude:
Mi situación:
tengo uso de Zend Framework 1.2 para construir aplicación de monitoreo y quiero conseguir carga de la CPU, el documento presentado en la página. después de hacer algunas investigaciones descubrí que podía usar objetos COM y consultar el Win OS con WMI así que poner estos códigos a mi función init:
/* Initialize action controller here */
$this->wmi = new COM('winmgmts:{impersonationLevel=impersonate}//./root/cimv2');
if (!is_object($this->wmi)) {
throw new GetInfoException('This needs access to WMI. Please enable DCOM in php.ini and allow the current user to access the WMI DCOM object.');
}
- Se puede usar en cualquier lugar que desee, tengo usarlo en la función init debido a la estructura Zend.
Y agregué una acción y una función para usar esa wmi y obtener carga de la CPU en cualquier momento que desee llamando a esa función.
public function cpuloadAction()
{
echo json_encode($this->getLoad());
exit();
}
private function getLoad() {
// Time?
if (!empty($this->settings['timer']))
$t = new LinfoTimerStart('Load Averages');
$load = array();
foreach ($this->wmi->ExecQuery("SELECT LoadPercentage FROM Win32_Processor") as $cpu) {
$load[] = $cpu->LoadPercentage;
}
//return round(array_sum($load)/count($load), 2) . "%";
return (int)round(array_sum($load)/count($load), 2);
}
- por culpa i qué datos en tiempo real i poner estos códigos en función de lo contrario podría escribirlo en una sola fila no objeto PHP Orientado.
Espero que ayude.
How to get Memory and CPU usage in PHP
simples ejemplos perfectos.
- Memoria en procentage% ($ mem [2]/1000 para la memoria usada en MB)
function get_server_memory_usage(){
$free = shell_exec('free');
$free = (string)trim($free);
$free_arr = explode("\n", $free);
$mem = explode(" ", $free_arr[1]);
$mem = array_filter($mem);
$mem = array_merge($mem);
$memory_usage = $mem[2]/$mem[1]*100;
return $memory_usage;
}
- CPU en procentage%
function get_server_cpu_usage(){
$load = sys_getloadavg();
return $load[0];
}
Será muy útil si elaboras tu respuesta con un ejemplo también. – Sanoob
- 1. ¿Cómo controlo la CPU, la memoria y el uso del disco de la computadora en Java?
- 2. ¿Cómo saber el uso de la CPU y la memoria de un proceso con WMI?
- 3. ¿Cómo reviso el uso de CPU y memoria en Java?
- 4. ¿Cómo obtener el uso de la CPU en C?
- 5. Limitar el uso de memoria y CPU de aplicación Java
- 6. Java - ¿Cómo puedo monitorear el uso de memoria y CPU de otro proceso?
- 7. ¿Cómo ver/informar sobre el uso de la CPU y la memoria de Windows Azure?
- 8. ¿Utiliza PerformanceCounter para rastrear la memoria y el uso de la CPU por proceso?
- 9. Android - uso de memoria/CPU
- 10. ¿Cómo puedo obtener el uso de CPU y/o RAM de * THREAD * en C# (código administrado)?
- 11. pesada mysql uso de la CPU o la memoria
- 12. ¿Cómo obtener la temperatura de la CPU?
- 13. ¿Cuál es el contador de rendimiento correcto para obtener la CPU y el uso de memoria de un proceso?
- 14. ¿Limitaciones prácticas de la memoria JVM y el uso de la CPU?
- 15. ¿Cómo puedo usar de manera programada memoria, hilo y uso de CPU desde mi aplicación Java?
- 16. Forma multiplataforma para obtener la utilización de CPU/memoria
- 17. Limitar la memoria de proceso/uso de CPU en Linux
- 18. ¿Cómo puedo obtener la información de la CPU en .net?
- 19. ¿Cómo puedo encontrar el uso de la CPU y la RAM con PowerShell?
- 20. Captura de CPU y uso de memoria de forma dinámica
- 21. Uso y clasificación de la memoria SAS
- 22. Javascript- Monitorear dinámicamente el uso de CPU/memoria
- 23. ¿Cómo mido el uso de CPU, memoria y disco durante una compilación?
- 24. Seguimiento del uso de la CPU y la memoria por proceso
- 25. ¿Cómo se determina el costo de la CPU y la memoria de una función?
- 26. Cómo obtener el uso de CPU en asp.net
- 27. ¿Cómo perfil el uso de la memoria?
- 28. Cómo medir la CPU y la memoria durante la prueba de carga
- 29. El uso de javascript setInvertal aumenta el consumo de memoria de la CPU
- 30. Invalidación de la memoria caché de la CPU
Hay tres valores ¿qué es eso? Promedios de carga \t 0.48 0.76 0.43 –
El primer número se calcula durante el último minuto, el segundo se calcula durante los últimos 5 minutos y los últimos números se calculan durante los últimos 15 minutos. Estos números determinan cuánto ocupan los núcleos. Entonces, si tiene un solo núcleo y estos números están por debajo de 1.0, entonces su sistema es completamente responsable. Toda la información está aquí: http://en.wikipedia.org/wiki/Load_(computing) – neworld