ホームページ  >  記事  >  バックエンド開発  >  FreeBSD システムパラメータ検出 CPU、メモリ_PHP チュートリアル

FreeBSD システムパラメータ検出 CPU、メモリ_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:58:451028ブラウズ

これは、FreeBSDのCPU、メモリ、更新時間、実行時間などを検出できるPHPシステムパラメータ検出です。

FreeBSD システムパラメータ検出 CPU、メモリ

/*
これはphpチュートリアルのシステムパラメータ検出です。FreeBSDのCPU、メモリ、更新時間、実行時間などを検出できます。
*/

//パラメータ値を取得 FreeBSD

関数 get_key($keyName)
{
return do_command('sysctl', "-n $keyName");
}

// 実行可能ファイル FreeBSD の場所を決定します

関数 find_command($commandName)
    {
        $path = array('/bin', '/sbin', '/usr/bin', '/usr/sbin', '/usr/local/bin', '/usr/local/sbin');
        foreach($p としての $path)
        {
            if (@is_executable("$p/$commandName")) return "$p/$commandName";
        }
        false を返します;
    }
 
 関数sys_freebsd()
    {
        //CPU
        if (false === ($res['cpu']['num'] = get_key("hw.ncpu"))) return false;
        $res['cpu']['detail'] = get_key("hw.model");
        
        //平均ロード
        if (false === ($res['loadAvg'] = get_key("vm.loadavg"))) return false;
        $res['loadAvg'] = str_replace("{", "", $res['loadAvg']);
        $res['loadAvg'] = str_replace("}", "", $res['loadAvg']);
        
        //稼働時間
        if (false === ($buf = get_key("kern.boottime"))) return false;
        $buf =explode(' ', $buf);
        $sys_ticks = time() - intval($buf[3]);
        $min = $sys_ticks / 60;
        $時間 = $分 / 60;
        $days = フロア($hours / 24);
        $hours = フロア($hours - ($days * 24));
        $min = フロア($min - ($days * 60 * 24) - ($hours * 60));
        if ($days !== 0) $res['uptime'] = $days."天";
        if ($hours !== 0) $res['uptime'] .= $hours."小時間";
        $res['uptime'] .= $min."分钟";
        
        //メモリー
        if (false === ($buf = get_key("hw.physmem"))) return false;
        $res['memTotal'] =round($buf/1024/1024, 2);
        $buf =explode("n", do_command("vmstat", ""));
        $buf =explode(" ", トリム($buf[2]));
        
        $res['memFree'] =round($buf[5]/1024, 2);
        $res['memused'] = ($res['memTotal']-$res['memFree']);
        $res['memPercent'] = (floatval($res['memTotal'])!=0)?round($res['memused']/$res['memTotal']*100,2):0;
          
        $buf =explode("n", do_command("swapinfo", "-k"));
        $buf = $buf[1];
        preg_match_all("/([0-9]+)s+([0-9]+)s+([0-9]+)/", $buf, $bufArr);
        $res['swapTotal'] =round($bufArr[1][0]/1024, 2);
        $res['swapused'] =round($bufArr[2][0]/1024, 2);
        $res['swapFree'] =round($bufArr[3][0]/1024, 2);
        $res['swapPercent'] = (floatval($res['swapTotal'])!=0)?round($res['swapused']/$res['swapTotal']*100,2):0;
        
        $res を返します;
    }
 //针探使用方法
 
 sys_freebsd();

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631993.html技術記事これは PHP システムパラメータ検出であり、FreeBSD の CPU、メモリ、更新時間、実行時間などを検出できます。 FreeBSD システムパラメータ検出 CPU、メモリ /* これは PHP チュートリアル システムです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。