如何使用php获得服务器CPU使用率和RAM使用率?
我想使用php获取服务器CPU和RAM的使用率。该脚本应该在Windows和Linux上运行。
我该怎么做?
我想使用php获取服务器CPU和RAM的使用率。该脚本应该在Windows和Linux上运行。
我该怎么做?
第一个函数将返回服务器内存使用情况:
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];
}
我建议使用PHP SNMP
http://www.php.net/manual/en/book.snmp.php
这将为Windows和Linux提供统一的解决方案,而不必弄乱执行命令。
您当然需要在Windows和Linux服务器上安装Windows SNMP守护程序/服务。
对于Linux,只需使用Net-SNMP,例如CentOS
sudo yum install net-snmp
sudo service snmpd start
sudo chkconfig snmpd on
Net-SNMP也可用于Windows: