web-dev-qa-db-fra.com

Comment obtenez-vous l'utilisation du processeur du serveur et RAM utilisation avec php?

Je veux obtenir le processeur du serveur et RAM utilisation en php. Le script devrait fonctionner sur Windows et Linux.

Comment ferais-je ça?

14
Mehdi Homeily

La première fonction renverra l'utilisation de la mémoire du serveur:

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;
}

Cette fonction renverra l'utilisation du processeur du serveur:

function get_server_cpu_usage(){

    $load = sys_getloadavg();
    return $load[0];

}
20
Snoobih

Je vous conseille d'utiliser PHP SNMP

http://www.php.net/manual/en/book.snmp.php

Cela fournira une solution unifiée pour Windows et Linux sans avoir à jouer avec les commandes exec.

Vous devrez bien sûr installer un démon/service SNMP Windows sur vos serveurs Windows et Linux

Pour Linux, utilisez simplement Net-SNMP, par exemple CentOS

Sudo yum install net-snmp
Sudo service snmpd start
Sudo chkconfig snmpd on

Net-SNMP est également disponible pour Windows:

http://www.net-snmp.org/

5
Garreth McDaid