$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]))."%
";
}
?>
//////////////////////////////////////////////////////////////////////
$str = shell_exec('more /proc/meminfo');
$pattern = "/(.+):\s*([0-9]+)/";
preg_match_all($pattern, $str, $out);
echo "物理内存总量:".$out[2][0]."
";
echo "已使用的内存:".$out[2][1]."
";
echo "-----------------------------------------
";
echo "内存使用率:".(100*($out[2][0]-$out[2][1])/$out[2][0])."%
";
?>
//////////////////////////////////////////////////////////////////////
$str = 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, $str, $out);
echo "共有".count($out[1])."个网络接口,每个网络接口利用率如下:
";
for($n=0;$n
echo $out[1][$n].":收到 ".$out[3][$n]." 个数据包,发送 ".$out[11][$n]." 个数据包
";
}
?>
也不知道你的LINUX是否支持sar,PHP可以通过shell_exec('sar 1')获取相关信息
补充:
我在FREE BSD下喜欢使用TOP查看相关信息,对LINUX不熟悉,你可以搜索一下百度,我看到了这个文章:http://zhuheng.blogspot.com/2007/03/linux.html