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

LINUX 系统参数探测包括cpu,时间,内存等_PHP教程,第1张

这款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)(.] )[rn] /", $str, $model);
//@preg_match_all("/cpus MHzs{0,}: s{0,}([d.] )[rn] /", $str, $mhz);
@preg_match_all("/caches sizes{0,}: s{0,}([d.] s{0,}[A-Z] [rn] )/", $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("
", $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;

// 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是多少,内存多使用了多少,运行时间以及更新时间
*/


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/444943.htmlTechArticle这款linux系统参数探测函数,可以计算出你当前机器的cpu是多少,内存多使用了多少,运行时间以及更新时间 LINUX 系统参数探测包括cpu,时间...

文章来源:https://www.php.cn/faq/305589.html

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复

    作者信息

    相关文章