php在windows环境下获得cpu内存实时使用率(推荐)_php实例_脚本之家


本站和网页 https://www.jb51.net/article/134720.htm 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

php在windows环境下获得cpu内存实时使用率(推荐)_php实例_脚本之家
脚本之家
服务器常用软件
手机版
投稿中心
关注微信
快捷导航
软件下载
android
MAC
驱动下载
字体下载
DLL
源码下载
PHP
ASP.NET
ASP
JSP
软件编程
C#
JAVA
C 语言
Delphi
Android
网络编程
PHP
ASP.NET
ASP
JavaScript
在线工具
CSS格式化
JS格式化
Html转化为Js
数据库
MYSQL
MSSQL
oracle
DB2
MARIADB
CMS
PHPCMS
DEDECMS
帝国CMS
WordPress
常用工具
PHP开发工具
python
Photoshop
必备软件
网站首页
网页制作
网络编程
脚本专栏
脚本下载
数据库
服务器
电子书籍
操作系统
网站运营
平面设计
其它
媒体动画
电脑基础
硬件教程
网络安全
php基础
php技巧
php实例
php文摘
php模板
您的位置:首页 → 网络编程 → PHP编程 → php实例 → php cpu使用率
php在windows环境下获得cpu内存实时使用率(推荐)
更新时间:2018年02月08日 13:37:14 作者:asseek
这篇文章主要介绍了php在windows环境下获得 cpu 内存实时使用率的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
后台实时监控服务器的CUP与内存占用率的场景很常见,虽然没做过,但是着手写代码之前我真没想到会花2个多小时才最终实现。
网上虽然搜 PHP CUP 内存 使用率 这一类关键字出来的文章一大把,但大都是在Linux环境下,windows下只有提出靠cmd语句实现的观点,但少有实际直接可行的代码,辗转试了一遍 wmic , systeminfo 各种并不熟稔的cmd命令,并没有找到可行的方案,最终通过百度知道 的一篇答案找到利用vbs获取的实现方式,稍加改善,可以在windows环境下直接使用。
类代码
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;
调用方式
$info = new SystemInfoWindows();
$cpu = $info->getCpuUsage();
$memory = $info->getMemoryUsage();
echo "当前系统CPU使用率:{$cpu}%,内存使用率{$memory['usage']}%";
总结
以上所述是小编给大家介绍的php在windows环境下获得cpu内存实时使用率,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:PHP中使用unset销毁变量并内存释放问题如何获知PHP程序占用多少内存(memory_get_usage)深入探讨PHP中的内存管理问题解析PHP中的内存管理,PHP动态分配和释放内存解析PHP中的unset究竟会不会释放内存PHP通过内置函数memory_get_usage()获取内存使用情况php页面消耗内存过大的处理办法PHP内存使用情况如何获取PHP管理内存函数 memory_get_usage()使用介绍php查询内存信息操作示例
php
cpu
内存
相关文章
阿里云PHP SMS短信服务验证码发送方法这篇文章主要介绍了阿里云PHP SMS短信服务验证码发送方法,需要的朋友可以参考下 2017-07-07
深入浅析PHP的session反序列化漏洞问题这篇文章主要介绍了PHP的session反序列化漏洞问题,需要的朋友可以参考下 2017-06-06
Yii 访问 Gii(脚手架)时出现 403 错误这篇文章主要介绍了Yii 访问 Gii(脚手架)时出现 403 错误的解决方法的相关资料,需要的朋友可以参考下 2018-06-06
PHP实现数据分页显示的简单实例下面小编就为大家带来一篇PHP实现数据分页显示的简单实例。小编觉得挺不错的,现在就分享给大家,也给的大家做个参考。一起跟随小编过来看看吧 2016-05-05
thinkphp5redis缓存新增方法实例讲解这篇文章主要介绍了thinkphp5redis缓存新增方法实例讲解,redis是项目中最常用的缓存,有正在使用的同学可以看下 2021-03-03
php设计模式之抽象工厂模式分析【星际争霸游戏案例】这篇文章主要介绍了php设计模式之抽象工厂模式,结合星际争霸游戏案例形式分析了PHP抽象工厂模式的具体原理、使用技巧与相关操作注意事项,需要的朋友可以参考下 2020-01-01
thinkphp的静态缓存用法分析这篇文章主要介绍了thinkphp的静态缓存用法,较为详细的分析了静态缓存的配置方法与相关操作的技巧,具有一定的实用价值,需要的朋友可以参考下 2014-11-11
laravel开发环境homestead搭建过程详解Laravel Homestead 是一个官方预封装的 Vagrant box ,它为你提供了一个完美的开发环境,你不需要在本地机器安装 PHP、web 服务器和其他的服务器软件,这篇文章主要介绍了laravel开发环境homestead搭建,需要的朋友可以参考下 2020-07-07
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析这篇文章主要介绍了tp5.0框架隐藏index.php入口文件及模块和控制器的方法,结合实例形式分析thinkPHP5.0隐藏index.php入口文件及模块和控制器的具体配置方法、操作技巧与相关注意事项,需要的朋友可以参考下 2020-02-02
thinkphp5.1的model模型自动更新update_time字段实例讲解这篇文章主要介绍了thinkphp5.1的model模型自动更新update_time字段实例讲解,文章代码示例比较简单实用,有正在学习tp的同学可以跟着小编好好阅读下 2021-03-03
最新评论
大家感兴趣的内容
1php获取数组长度的方法(有实例)2PHP保留两位小数的几种方法3PHP错误Allowed memory size of 674微信公众平台实现获取用户OpenID的方法5教你如何使用php session6使用PHP生成二维码的两种方法(带logo图像)7PHP删除数组中空值的方法介绍8php发送get、post请求的6种方法简明总结9PHP中把stdClass Object转array的几个方10微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
最近更新的内容
ThinkPHP自定义函数解决模板标签加减运算的方法linux下实现定时执行php脚本Yii框架小部件(Widgets)用法实例详解ThinkPHP中limit()使用方法详解PHP魔术方法的使用示例ThinkPHP中ajax使用实例教程php模拟ping命令(php exec函数的使用方法)PHP SFTP实现上传下载功能Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLab如何使用Gitblog和Markdown建自己的博客
常用在线小工具
微信
投稿
脚本任务
在线工具
关注微信公众号
关于我们 -
广告合作 -
联系我们 -
免责声明 -
网站地图 -
投诉建议 -
在线投稿
CopyRight 2006-2021 JB51.Net Inc All Rights Reserved. 脚本之家 版权所有