PHP获取linux 的 某一刻内存使用率 内存使用率 磁盘 PHP获取linux 的 某一刻内存使用率 内存使用率 磁盘 有人指导说 可以用 php 的 exec 方法 执行 shell 命令 来获取 给位大哥帮忙细说一下 或者提供其他方法 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个去LINUX下proc下的文件就可以的,,像stat \meminfo 等等,挺简单的,,用exec\systerm也可以,,把如果放到数组里就可以很容易取出来了,,但是硬盘分析还是要自己算的, <?php $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利用率如下:<br>"; for($n=0;$n<count($out[1]);$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]))."%<br>"; } ?> ////////////////////////////////////////////////////////////////////// <?php $str = shell_exec('more /proc/meminfo'); $pattern = "/(.+):\s*([0-9]+)/"; preg_match_all($pattern, $str, $out); echo "物理内存总量:".$out[2][0]."<br>"; echo "已使用的内存:".$out[2][1]."<br>"; echo "-----------------------------------------<br>"; echo "内存使用率:".(100*($out[2][0]-$out[2][1])/$out[2][0])."%<br>"; ?>//////////////////////////////////////////////////////////////////////<?php$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])."个网络接口,每个网络接口利用率如下:<br>"; for($n=0;$n<count($out[1]);$n++) { echo $out[1][$n].":收到 ".$out[3][$n]." 个数据包,发送 ".$out[11][$n]." 个数据包<br>"; } ?> proc 文件 大哥 我刚接触linux不久 不太懂 能否说明白点 谢谢 共有3个CPU,每个CPU利用率如下:cpu=7.8584049196942%cpu0=6.9921272552773%cpu1=8.7385287976878%...... 我是想说上面那个计算很奇葩...关于统计方法,可以用top 然后 输出文本来读取文本的数据.当然你得写个shell文件. 另外Linux下有很多优秀的统计工具都支持生成数据的。你可以用脚本来读取这些数据分析自己需要的内容。 top |col -b > top.txt 带有审核流程的软件怎样设计 一个算法问题。。 volist如何输出成两列的格式? 关于spl_autoload_register与__autoload ImageString函数怎么用?怎么设置图片的大小刚好让写的字填充满图片 什么样的代码嵌入在别人网站的页面中可以获得访问量--在线等待 html怎样向php脚本传递数组呢? 如何把汉字变为电子书库这样的编码? 用PHP写一个产品发布系统要多长时间,多少钱? 求一个正则表达式,超级简单!!! 如何在点击“下一步”按钮时进入不同页面 成为高级PHP程序员需要什么?
$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利用率如下:<br>";
for($n=0;$n<count($out[1]);$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]))."%<br>";
}
?>
//////////////////////////////////////////////////////////////////////
<?php
$str = shell_exec('more /proc/meminfo');
$pattern = "/(.+):\s*([0-9]+)/";
preg_match_all($pattern, $str, $out);
echo "物理内存总量:".$out[2][0]."<br>";
echo "已使用的内存:".$out[2][1]."<br>";
echo "-----------------------------------------<br>";
echo "内存使用率:".(100*($out[2][0]-$out[2][1])/$out[2][0])."%<br>";
?>
//////////////////////////////////////////////////////////////////////
<?php
$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])."个网络接口,每个网络接口利用率如下:<br>";
for($n=0;$n<count($out[1]);$n++)
{
echo $out[1][$n].":收到 ".$out[3][$n]." 个数据包,发送 ".$out[11][$n]." 个数据包<br>";
}
?>
cpu=7.8584049196942%
cpu0=6.9921272552773%
cpu1=8.7385287976878%......