扣丁学堂PHP培训简述PHP在windows环境下获得cpu内存
本篇文章扣丁学堂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开发技术的小伙伴抓紧时间行动吧。