• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >vbs > VBS监控CPU的使用率(如占用率一直维持在80%超过30秒则运行某程序)

VBS监控CPU的使用率(如占用率一直维持在80%超过30秒则运行某程序)

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了vbs 内存使用率,请使用slmgr.vbs,vbs使用,vbs如何使用,vbs程序代码等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

按照楼主的要求重新修改了下,代码如下:

dim iCpuUsePercentage'记录CPU使用率
dim iSecond'记录使用率等于100所持续的时间
dim objFileStream'txt文本读写流,用于记录日志
dim objTextFileWriter'txt写对象
dim objShell'Shell'对象,用于执行指定程序
dim objFileInfo'文件信息对象,用于获取文件大小信息
dim bIsExecuteBat'是否已经运行过bat文件,下次重置0之前只执行一次批处理

iSecond=0'初始值为0
bIsExecuteBat=False
set objFileStream =CreateObject("Scripting.Filesystemobject")'创建文件系统对象
set objTextFileWriter=objFileStream.opentextfile("log.txt",8,True)'在脚本相同位置以追加方式打开日志文件,如果不存在,则创建日志文件
While True
Set objProc  = GetObject("winmgmts:\\.\root\cimv2:win32_processor='cpu0'")'获取第一个CPU对象
iCpuUsePercentage=objProc.LoadPercentage'获取CPU使用率
objTextFileWriter.WriteLine("【" & Now & "】CPU使用率:" & iCpuUsePercentage & "%,使用率超80%持续时间:" & CStr(iSecond))

'统计累计CPU使用率达到80以上的持续次数,一旦有小于80的,次数归0
if iCpuUsePercentage>=80 then
  iSecond=iSecond+1
else
  iSecond=0
  bIsExecuteBat=False'重置0之后,批处理可以再次执行
end if

if iSecond>=30 And bIsExecuteBat=False then
  objTextFileWriter.WriteLine("CPU使用率达80%持续时间超过30秒!!")
  '调用指定的批处理程序
  set objShell=CreateObject("WScript.shell")
  objShell.run "c:\email.bat"  
  bIsExecuteBat=True'标记已经执行过bat文件
end if

set objFileInfo=objFileStream.getfile("Log.txt")
'日志文件大于2M时,重新建立日志文件
if (objFileInfo.size/1024/1024) >=2 then
  '先关闭文件才能操作
  objTextFileWriter.close
  objFileStream.MoveFile "Log.txt",Replace(Replace(Replace(Now,":",""),"-","")," ","") & "BackLog.txt" 
  '重新打开日志文件 
  set objTextFileWriter=objFileStream.opentextfile("log.txt",8,True)
end if
Wend
</div>
'----------------------------------------
日志最好还是保留一下,有日志有助于发现问题。目前是2M一个,超过之后会自动重新创建一个。定时清理一下就行了。
如果不需要日志的话,去掉
objTextFileWriter.WriteLine("【" & Now & "】CPU使用率:" & iCpuUsePercentage & "%,使用率超80%持续时间:" & CStr(iSecond))
这句就行了。
有问题再交流,呵呵!

-------------------
代码已经修改。 如果一直持续在80%以上,批处理只执行一次,一旦计数归零,批处理可以再次执行。

</div>

您可能想查找下面的文章:

  • VBS监控CPU的使用率(如占用率一直维持在80%超过30秒则运行某程序)
  • 用vbs实现的输入助手附使用方法

相关文章

  • vbs sendKeys Virtual-Key Codes 十六进制符号
  • vbscript 可以按引用传递参数吗?
  • Stream、WshShell、WshUrlShortcut对象及Shell.Application的参数与使用
  • 用vbs实现读取文本文件的方法
  • VBS教程:属性-ParentFolder 属性
  • VBS教程:正则表达式简介 -限定符
  • VBScript教程 第十三课 VBScript与窗体
  • 用vbs清空iis log 中自己登录ip的记录
  • 写个设置命令的VBS脚本代码
  • 一个收集的下载木马并运行的VBS代码

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • VBS监控CPU的使用率(如占用率一直维持在80%超过30秒则运行某程序)
    • MsgBox函数语言参考
    • 用VBS实现PHP的md5_file函数代码
    • 关于vbs WebBrowser导航问题
    • VBS编程教程 (第3篇)
    • VBS创建正则表达式对象的两种方法
    • VBS MD5加密算法代码
    • 本地连接禁用/启用批处理脚本
    • vbs得没公开对象
    • VBS 路由重启脚本

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有