用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

LINUX 系统参数探测包括cpu,时间,内存等

时间:2015-01-23  来源:西部数据  作者:西部数据

这款linux系统参数探测函数,可以计算出你当前机器的cpu是多少,内存多使用了多少,运行时间以及更新时间,实例代码如下:

  1.     function sys_linux() 
  2.     { 
  3.         // CPU 
  4.         if (false === ($str = @file("/proc/cpuinfo"))) return false; 
  5.         $str = implode(""$str); 
  6.         @preg_match_all("/models+names{0,}:+s{0,}([ws)(.]+)[ ]+/"$str$model); 
  7.         //@preg_match_all("/cpus+MHzs{0,}:+s{0,}([d.]+)[ ]+/", $str, $mhz); 
  8.         @preg_match_all("/caches+sizes{0,}:+s{0,}([d.]+s{0,}[A-Z]+[ ]+)/"$str$cache); 
  9.         if (false !== is_array($model[1])) 
  10.             { 
  11.             $res['cpu']['num'] = sizeof($model[1]); 
  12.             for($i = 0; $i < $res['cpu']['num']; $i++) 
  13.             { 
  14.                 $res['cpu']['detail'][] = "类型:".$model[1][$i]." 缓存:".$cache[1][$i]; 
  15.             } 
  16.             if (false !== is_array($res['cpu']['detail'])) $res['cpu']['detail'] = implode("<br />"$res['cpu']['detail']); 
  17.             } 
  18.           
  19.           
  20.         // UPTIME 
  21.         if (false === ($str = @file("/proc/uptime"))) return false; 
  22.         $str = explode(" ", implode(""$str)); 
  23.         $str = trim($str[0]); 
  24.         $min = $str / 60; 
  25.         $hours = $min / 60; 
  26.         $days = floor($hours / 24); 
  27.         $hours = floor($hours - ($days * 24)); 
  28.         $min = floor($min - ($days * 60 * 24) - ($hours * 60)); 
  29.         if ($days !== 0) $res['uptime'] = $days."天"
  30.         if ($hours !== 0) $res['uptime'] .= $hours."小时"
  31.         $res['uptime'] .= $min."分钟"
  32.           
  33.         // MEMORY 
  34.         if (false === ($str = @file("/proc/meminfo"))) return false; 
  35.         $str = implode(""$str); 
  36.         preg_match_all("/MemTotals{0,}:+s{0,}([d.]+).+?MemFrees{0,}:+s{0,}([d.]+).+?SwapTotals{0,}:+s{0,}([d.]+).+?SwapFrees{0,}:+s{0,}([d.]+)/s"$str$buf); 
  37.           
  38.         $res['memTotal'] = round($buf[1][0]/1024, 2); 
  39.         $res['memFree'] = round($buf[2][0]/1024, 2); 
  40.         $res['memUsed'] = ($res['memTotal']-$res['memFree']); 
  41.         $res['memPercent'] = (floatval($res['memTotal'])!=0)?round($res['memUsed']/$res['memTotal']*100,2):0; 
  42.           
  43.         $res['swapTotal'] = round($buf[3][0]/1024, 2); 
  44.         $res['swapFree'] = round($buf[4][0]/1024, 2); 
  45.         $res['swapUsed'] = ($res['swapTotal']-$res['swapFree']); 
  46.         $res['swapPercent'] = (floatval($res['swapTotal'])!=0)?round($res['swapUsed']/$res['swapTotal']*100,2):0; 
  47.          //开源代码phpfensi.com 
  48.         // LOAD AVG 
  49.         if (false === ($str = @file("/proc/loadavg"))) return false; 
  50.         $str = explode(" ", implode(""$str)); 
  51.         $str = array_chunk($str, 3); 
  52.         $res['loadAvg'] = implode(" "$str[0]); 
  53.           
  54.         return $res
  55.     } 
  56. //调用方法 
  57. sys_linux();
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
    无相关信息
栏目更新
栏目热门