龙空技术网

PHP 之获取Windows下CPU、内存的使用率

叶斌兵 196

前言:

现在小伙伴们对“php查看内存占用”大致比较注重,同学们都需要学习一些“php查看内存占用”的相关知识。那么小编在网络上收集了一些对于“php查看内存占用””的相关内容,希望小伙伴们能喜欢,你们快快来学习一下吧!

<?php/** * Created by PhpStorm. * User: 25754 * Date: 2019/5/4 * Time: 13:42 */class SystemInfoWindows{    /**     * 判断指定路径下指定文件是否存在,如不存在则创建     * @param string $fileName 文件名     * @param string $content 文件内容     * @return string 返回文件路径     */    private function getFilePath($fileName, $content)    {        $path = dirname(__FILE__) . "\\$fileName";        if (!file_exists($path)) {            file_put_contents($path, $content);        }        return $path;    }    /**     * 获得cpu使用率vbs文件生成函数     * @return string 返回vbs文件路径     */    private function getCupUsageVbsPath()    {        return $this->getFilePath(            'cpu_usage.vbs',            "On Error Resume Next    Set objProc = GetObject(\"winmgmts:\\\\.\\root\cimv2:win32_processor='cpu0'\")    WScript.Echo(objProc.LoadPercentage)"        );    }    /**     * 获得总内存及可用物理内存JSON vbs文件生成函数     * @return string 返回vbs文件路径     */    private function getMemoryUsageVbsPath()    {        return $this->getFilePath(            'memory_usage.vbs',            "On Error Resume Next    Set objWMI = GetObject(\"winmgmts:\\\\.\\root\cimv2\")    Set colOS = objWMI.InstancesOf(\"Win32_OperatingSystem\")    For Each objOS in colOS     Wscript.Echo(\"{\"\"TotalVisibleMemorySize\"\":\" & objOS.TotalVisibleMemorySize & \",\"\"FreePhysicalMemory\"\":\" & objOS.FreePhysicalMemory & \"}\")    Next"        );    }    /**     * 获得CPU使用率     * @return Number     */    public function getCpuUsage()    {        $path = $this->getCupUsageVbsPath();        exec("cscript -nologo $path", $usage);        return $usage[0];    }    /**     * 获得内存使用率数组     * @return array     */    public function getMemoryUsage()    {        $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;    }}

标签: #php查看内存占用