美文网首页扣丁学堂PHP培训
扣丁学堂PHP培训简述PHP在windows环境下获得cpu内存

扣丁学堂PHP培训简述PHP在windows环境下获得cpu内存

作者: 994d14631d16 | 来源:发表于2018-08-08 11:51 被阅读14次

    本篇文章扣丁学堂PHP培训小编给大家分享一下PHP在windows环境下获得cpu内存实时使用率,对PHP开发技术或者是该问题感兴趣的小伙伴就随小编一起来了解一下吧。

    扣丁学堂PHP培训

    网上虽然搜PHPCUP内存使用率这一类关键字出来的文章一大把,但大都是在Linux环境下,windows下只有提出靠cmd语句实现的观点,但少有实际直接可行的代码,下面看一下本篇文章的详细介绍吧。

    类代码:

    classSystemInfoWindows

    {

    /**

    *判断指定路径下指定文件是否存在,如不存在则创建

    *@paramstring$fileName文件名

    *@paramstring$content文件内容

    *@returnstring返回文件路径

    */

    privatefunctiongetFilePath($fileName,$content)

    {

    $path=dirname(__FILE__)."\\$fileName";

    if(!file_exists($path)){

    file_put_contents($path,$content);

    }

    return$path;

    }

    /**

    *获得cpu使用率vbs文件生成函数

    *@returnstring返回vbs文件路径

    */

    privatefunctiongetCupUsageVbsPath()

    {

    return$this->getFilePath(

    'cpu_usage.vbs',

    "OnErrorResumeNext

    SetobjProc=GetObject(\"winmgmts:\\\\.\\root\cimv2:win32_processor='cpu0'\")

    WScript.Echo(objProc.LoadPercentage)"

    );

    }

    /**

    *获得总内存及可用物理内存JSONvbs文件生成函数

    *@returnstring返回vbs文件路径

    */

    privatefunctiongetMemoryUsageVbsPath()

    {

    return$this->getFilePath(

    'memory_usage.vbs',

    "OnErrorResumeNext

    SetobjWMI=GetObject(\"winmgmts:\\\\.\\root\cimv2\")

    SetcolOS=objWMI.InstancesOf(\"Win32_OperatingSystem\")

    ForEachobjOSincolOS

    Wscript.Echo(\"{\"\"TotalVisibleMemorySize\"\":\"&objOS.TotalVisibleMemorySize&\",\"\"FreePhysicalMemory\"\":\"&objOS.FreePhysicalMemory&\"}\")

    Next"

    );

    }

    /**

    *获得CPU使用率

    *@returnNumber

    */

    publicfunctiongetCpuUsage()

    {

    $path=$this->getCupUsageVbsPath();

    exec("cscript-nologo$path",$usage);

    return$usage[0];

    }

    /**

    *获得内存使用率数组

    *@returnarray

    */

    publicfunctiongetMemoryUsage()

    {

    $path=$this->getMemoryUsageVbsPath();

    exec("cscript-nologo$path",$usage);

    $memory=json_decode($usage[0],true);

    $memory['usage']=Round((($memory['TotalVisibleMemorySize']-$memory['FreePhysicalMemory'])/$memory['TotalVisibleMemorySize'])*100);

    return$memory;

    }

    }

    调用方式:

    $info=newSystemInfoWindows();

    $cpu=$info->getCpuUsage();

    $memory=$info->getMemoryUsage();

    echo"当前系统CPU使用率:{$cpu}%,内存使用率{$memory['usage']}%";

    以上就是扣丁学堂PHP培训小编给大家分享的PHP在windows环境下获得cpu内存实时使用率,希望对小伙伴们有所帮助,想要了解更多关于PHP方面内容的小伙伴可以登录扣丁学堂官网咨询。扣丁学堂不仅有专业的PHP培训班供大家报名学习,还有大量的PHP视频教程供学员免费观看学习,想要学好PHP开发技术的小伙伴抓紧时间行动吧。

    相关文章

      网友评论

        本文标题:扣丁学堂PHP培训简述PHP在windows环境下获得cpu内存

        本文链接:https://www.haomeiwen.com/subject/ugbtbftx.html