LINUX 系统参数探测包括cpu,时间,内存等
这款linux系统参数探测函数,可以计算出你当前机器的cpu是多少,内存多使用了多少,运行时间以及更新时间,实例代码如下:
function sys_linux() { // CPU if (false === ( $str = @file( "/proc/cpuinfo" ))) return false; $str = implode( "" , $str ); @preg_match_all( "/models+names{0,}:+s{0,}([ws)(.]+)[ ]+/" , $str , $model ); //@preg_match_all("/cpus+MHzs{0,}:+s{0,}([d.]+)[ ]+/", $str, $mhz); @preg_match_all( "/caches+sizes{0,}:+s{0,}([d.]+s{0,}[A-Z]+[ ]+)/" , $str , $cache ); if (false !== is_array ( $model [1])) { $res [ 'cpu' ][ 'num' ] = sizeof( $model [1]); for ( $i = 0; $i < $res [ 'cpu' ][ 'num' ]; $i ++) { $res [ 'cpu' ][ 'detail' ][] = "类型:" . $model [1][ $i ]. " 缓存:" . $cache [1][ $i ]; } if (false !== is_array ( $res [ 'cpu' ][ 'detail' ])) $res [ 'cpu' ][ 'detail' ] = implode( "<br />" , $res [ 'cpu' ][ 'detail' ]); } // UPTIME if (false === ( $str = @file( "/proc/uptime" ))) return false; $str = explode ( " " , implode( "" , $str )); $str = trim( $str [0]); $min = $str / 60; $hours = $min / 60; $days = floor ( $hours / 24); $hours = floor ( $hours - ( $days * 24)); $min = floor ( $min - ( $days * 60 * 24) - ( $hours * 60)); if ( $days !== 0) $res [ 'uptime' ] = $days . "天" ; if ( $hours !== 0) $res [ 'uptime' ] .= $hours . "小时" ; $res [ 'uptime' ] .= $min . "分钟" ; // MEMORY if (false === ( $str = @file( "/proc/meminfo" ))) return false; $str = implode( "" , $str ); 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 ); $res [ 'memTotal' ] = round ( $buf [1][0]/1024, 2); $res [ 'memFree' ] = round ( $buf [2][0]/1024, 2); $res [ 'memUsed' ] = ( $res [ 'memTotal' ]- $res [ 'memFree' ]); $res [ 'memPercent' ] = ( floatval ( $res [ 'memTotal' ])!=0)? round ( $res [ 'memUsed' ]/ $res [ 'memTotal' ]*100,2):0; $res [ 'swapTotal' ] = round ( $buf [3][0]/1024, 2); $res [ 'swapFree' ] = round ( $buf [4][0]/1024, 2); $res [ 'swapUsed' ] = ( $res [ 'swapTotal' ]- $res [ 'swapFree' ]); $res [ 'swapPercent' ] = ( floatval ( $res [ 'swapTotal' ])!=0)? round ( $res [ 'swapUsed' ]/ $res [ 'swapTotal' ]*100,2):0; //开源代码phpfensi测试数据 // LOAD AVG if (false === ( $str = @file( "/proc/loadavg" ))) return false; $str = explode ( " " , implode( "" , $str )); $str = array_chunk ( $str , 3); $res [ 'loadAvg' ] = implode( " " , $str [0]); return $res ; } //调用方法 sys_linux();查看更多关于LINUX 系统参数探测包括cpu,时间,内存等 - php高级应的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did30544