uso ultimate solucion nada liberar hacer php cpu-usage ram bandwidth system-information

php - ultimate - ¿Cómo obtener el uso de la CPU y el uso de RAM sin ejecutivos?



liberar uso de cpu (4)

Esto es lo que uso en servidores Linux. Aún usa exec , pero otras preguntas apuntan aquí como duplicadas, y no hay una [buena] sugerencia para ellas. Debería funcionar en cada distribución, pero si no funciona, intente jugar con $get_cores + 1 offset.

CPU en porcentaje de núcleos utilizados (media de 5 min):

$exec_loads = sys_getloadavg(); $exec_cores = trim(shell_exec("grep -P ''^processor'' /proc/cpuinfo|wc -l")); $cpu = round($exec_loads[1]/($exec_cores + 1)*100, 0) . ''%'';

RAM en porcentaje del total utilizado (en tiempo real):

$exec_free = explode("/n", trim(shell_exec(''free''))); $get_mem = preg_split("/[/s]+/", $exec_free[1]); $mem = round($get_mem[2]/$get_mem[1]*100, 0) . ''%'';

RAM en GB utilizada (en tiempo real):

$exec_free = explode("/n", trim(shell_exec(''free''))); $get_mem = preg_split("/[/s]+/", $exec_free[1]); $mem = number_format(round($get_mem[2]/1024/1024, 2), 2) . ''/'' . number_format(round($get_mem[1]/1024/1024, 2), 2);

Aquí está lo que hay en la matriz $get_mem si necesita calcular otras facetas:

[0]=>row_title [1]=>mem_total [2]=>mem_used [3]=>mem_free [4]=>mem_shared [5]=>mem_buffers [6]=>mem_cached

Bono, aquí es cómo obtener el tiempo de actividad:

$exec_uptime = preg_split("/[/s]+/", trim(shell_exec(''uptime''))); $uptime = $exec_uptime[2] . '' Days'';

¿Cómo obtiene VBulletin la información del sistema sin el uso de exec ? ¿Hay alguna otra información que pueda obtener sobre el servidor sin ejecutivo? Estoy interesado en:

  • ancho de banda utilizado
  • tipo de sistema
  • Velocidad / uso / conteo de la CPU
  • Uso de RAM

después de buscar en foros y probar muchos métodos, la mejor precisión es esta:

$stat1 = file(''/proc/stat''); sleep(1); $stat2 = file(''/proc/stat''); $info1 = explode(" ", preg_replace("!cpu +!", "", $stat1[0])); $info2 = explode(" ", preg_replace("!cpu +!", "", $stat2[0])); $dif = array(); $dif[''user''] = $info2[0] - $info1[0]; $dif[''nice''] = $info2[1] - $info1[1]; $dif[''sys''] = $info2[2] - $info1[2]; $dif[''idle''] = $info2[3] - $info1[3]; $total = array_sum($dif); $cpu = array(); foreach($dif as $x=>$y) $cpu[$x] = round($y / $total * 100, 1); print_r($cpu);


Utilice la biblioteca PHPSysInfo

phpSysInfo es un script PHP de código abierto que muestra información sobre el host al que se accede. Mostrará cosas como:

  • Tiempo de actividad
  • UPC
  • Memoria
  • SCSI, IDE, PCI
  • Ethernet
  • Flexible
  • Información de video

Analizó directamente parses /proc y no usa exec .

Otra forma es usar Linfo . Es una secuencia de comandos php multiplataforma muy rápida que describe el servidor host con extremo detalle, brindando información como uso de ram, espacio en disco, arrays de raids, hardware, tarjetas de red, kernel, os, estado de samba / cups / truecrypt, temps, discos, y mucho más.


<?php function get_server_load() { $load=array(); if (stristr(PHP_OS, ''win'')) { $wmi = new COM("Winmgmts://"); $server = $wmi->execquery("SELECT LoadPercentage FROM Win32_Processor"); $cpu_num = 0; $load_total = 0; foreach($server as $cpu) { $cpu_num++; $load_total += $cpu->loadpercentage; } $load[]= round($load_total/$cpu_num); } else { $load = sys_getloadavg(); } return $load; } echo implode('' '',get_server_load());