我想使用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/zh/book.snmp.php
这将为Windows和Linux提供一个统一的解决方案,而不必使用exec命令。
您当然需要在Windows和Linux服务器上安装Windows SNMP守护程序/服务
对于Linux,只需使用Net-SNMP,例如CentOS
sudo yum install net-snmp sudo service snmpd start sudo chkconfig snmpd on
Net-SNMP也可用于Windows:
http://www.net-snmp.org/