ホームページ >バックエンド開発 >PHPチュートリアル >LINUX システムパラメータの検出には、CPU、時間、メモリなどが含まれます_PHP チュートリアル
この 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"))) false を返します。
$str =explode(" ", implode("", $str));
$str =rim($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、使用されているメモリ量、および実行時間を計算して更新することができます時間
*/