web-dev-qa-db-ja.com

サーバーのCPU使用率とRAM PHPの使用率を取得するにはどうすればよいですか?

サーバーのCPUとRAMを使用してphpを使用します。スクリプトはWindowsとLinuxで動作するはずです。

どうすればいいですか?

14
Mehdi Homeily

最初の関数は、サーバーのメモリ使用量を返します。

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使用率を返します。

function get_server_cpu_usage(){

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

}
20
Snoobih

PHP SNMPを使用することをお勧めします

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

これにより、execコマンドをいじる必要なく、WindowsとLinuxの両方に統一されたソリューションが提供されます。

もちろん、WindowsおよびLinuxサーバーの両方にWindows SNMPデーモン/サービスをインストールする必要があります。

Linuxの場合は、CentOSなどのNet-SNMPを使用します

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

Net-SNMPはWindowsでも使用できます。

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

5
Garreth McDaid