• 技术文章 >后端开发 >php教程

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

    2016-07-20 11:07:32原创460
    这款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,时间...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:LINUX 系统 参数 探测 包括 cpu 时间 内存 这款 linux 系统 参数 探测 函数 可以 算出
    上一篇:php创建目录,删除文件夹及查找不合法的目录并删除_PHP教程 下一篇:用php写 ftp文件上传函数教程_PHP教程
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• php在apache中的3种工作模式解决思路• sql+mysql 随机数据读取-进阶有关问题• PHP session 丢失 有关问题 • input button 一个很严重的有关问题• php大文件上传如何实现的
    1/1

    PHP中文网