//cpu占有率
$str = shell_exec('more /proc/stat');
$pattern =
"/(cpu[0-9]?)[\s]+([0-9]+)[\s]+([0-9]+)[\s]+([0-9]+)[\s]+([0-9]+)[\s]+([0-9]+)[\s]+([0-9]+)[\s]+([0-9]+)/";
preg_match_all($pattern, $str, $out);
echo "共有".count($out[1])."个CPU,每个CPU利用率如下:
";
for($n=0;$n
{
echo
$out[1][$n]."=".(100*($out[1][$n]+$out[2][$n]+$out[3][$n])/($out[4][$n]+$out[5][$n]+$out[6][$n]+$out[7][$n]))."%
";
}
//内存使用率
$str1 = shell_exec('more /proc/meminfo');
$pattern = "/(.+):\s*([0-9]+)/";
preg_match_all($pattern, $str1, $ou);
echo "物理内存总量:".$ou[2][0]."
";
echo "已使用的内存:".$ou[2][1]."
";
echo "-----------------------------------------
";
echo "内存使用率:".(100*($ou[2][0]-$ou[2][1])/$ou[2][0])."%
";
//网络流量的使用率
$str2 = shell_exec('more /proc/net/dev');
$pattern =
"/(eth[0-9]+):\s*([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)/";
preg_match_all($pattern, $str2, $out2);
echo "共有".count($out2[1])."个网络接口,每个网络接口利用率如下:
";
for($n=0;$n
{
echo $out2[1][$n].":收到 ".$out2[3][$n]." 个数据包,发送 ".$out2[11][$n]."
个数据包
";
}
echo "
";