http://bbs.csdn.net/topics/230078112
'/************************************************************************/
'
' FileName: WriteUsage.vbs
'
' Author: Chinafish
'
' Email: china_fish@163.com
'
' Homepage: http://www.csinx.org
'
' Desc: Write CPU & Memory usage
'
'/************************************************************************/ On Error Resume Next Dim dwTotalMem, dwAvailMem Const szRootDir = "D:\CPU\" '定时循环记录
Do While True Const ForReading =
Const ForWriting = Set oFSO = CreateObject("Scripting.FileSystemObject") '计算当日记录文件名
Today = Date()
TargetFile = szRootDir & Year(Today) & Right("" & Month(Today),) & Right("" & Day(Today),) & ".log" '没有文件先创建文件
Set MyFile = oFSO.CreateTextFile(TargetFile, false)
MyFile.Close '打开创建的文件读出原来的内容
Set MyFile = oFSO.OpenTextFile(TargetFile, ForReading)
strContent = MyFile.ReadAll
MyFile.Close '先写原文件内容
Set MyFile = oFSO.OpenTextFile(TargetFile, ForWriting) '文件无内容时写文件头
if strContent <> "" then
MyFile.WriteLine(strContent)
else
MyFile.WriteLine("/*Usage.log file write by Chinafish.*/")
MyFile.WriteBlankLines
End if '写开始时间
MyFile.WriteLine("程序启动时间: " & Now()) '本地电脑
strComputer = "." '连接到本地电脑
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.InstancesOf("Win32_LogicalMemoryConfiguration") '总计物理内存
For Each colItem In colItems
dwTotalMem = CLng(colItem.TotalPhysicalMemory / )
MyFile.WriteLine("总计物理内存: " & CLng(colItem.TotalPhysicalMemory / ) & "MB")
Next '剩余内存
Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfRawData_PerfOS_Memory",,) For Each objItem in colItems
dwAvailMem = objItem.AvailableMBytes
MyFile.WriteLine("剩余物理内存: " & objItem.AvailableMBytes & "MB")
Next '物理内存使用率(第一行精确到小数后2位, 第二行取整数)
'MyFile.WriteLine("物理内存使用: " & CInt((1 - dwAvailMem/dwTotalMem)*100*100)/100 & "%")
MyFile.WriteLine("物理内存使用: " & CInt(( - dwAvailMem/dwTotalMem)*) & "%") 'CPU数和使用率
Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor",,)
i = For Each objItem in colItems
MyFile.WriteLine("CPU(" & i & ")使用率: " & objItem.LoadPercentage & "%")
i = i +
Next '写结束时间
MyFile.WriteLine("程序结束时间: " & Now())
MyFile.Close Set oFSO = Nothing
Set MyFile = Nothing '睡眠达到定时操作目的 参数是ms 1000是1秒
WScript.Sleep ** Loop

自行修改版。

On Error Resume Next

Dim dwTotalMem, dwAvailMem

Const szRootDir = "D:\CPU\"

Set oFSO = CreateObject("Scripting.FileSystemObject")

    Const ForReading =
Const ForWriting = '计算当日记录文件名
Today = Date()
TargetFile = szRootDir & Year(Today) & Right("" & Month(Today),) & Right("" & Day(Today),) & Hour(Now) & ".log" '没有文件先创建文件
Set MyFile = oFSO.CreateTextFile(TargetFile, false)
MyFile.Close Set MyFile = oFSO.OpenTextFile(TargetFile, ForWriting) '写开始时间
MyFile.WriteLine("程序启动时间: " & Now()) '本地电脑
strComputer = "." '连接到本地电脑
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.InstancesOf("Win32_LogicalMemoryConfiguration") '总计物理内存
For Each colItem In colItems
dwTotalMem = CLng(colItem.TotalPhysicalMemory / )
MyFile.WriteLine("总计物理内存: " & CLng(colItem.TotalPhysicalMemory / ) & "MB")
Next '剩余内存
Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfRawData_PerfOS_Memory",,) For Each objItem in colItems
dwAvailMem = objItem.AvailableMBytes
MyFile.WriteLine("剩余物理内存: " & objItem.AvailableMBytes & "MB")
Next 'CPU数和使用率
Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor",,)
i = For Each objItem in colItems
MyFile.WriteLine("CPU(" & i & ")使用率: " & objItem.LoadPercentage & "%")
i = i +
Next MyFile.Close Set oFSO = Nothing
Set MyFile = Nothing

VBS windows监控的更多相关文章

  1. vbs系统监控

    vbs CPU 内存 硬盘监控脚本 On Error Resume Next Dim dwTotalMem, dwAvailMem, totalvolumn, freespace Const szRo ...

  2. 16 利用Zabbix完成windows监控

    点击返回:自学Zabbix之路 16 利用Zabbix完成windows监控 1.安装zabbix_agentd 1.1.下载zabbix_agentd监控客户端软件安装包(windows操作系统客户 ...

  3. windows 监控

    监控time_wait状态tcp/ip连接 > netstat -an | findstr "TIME_WAIT" 如果监控此值发现量比较大,且有类似socketExcept ...

  4. zabbix 自定义 windows 监控项

    zabbix获取windows服务器上数据C:\zabbix_agents\conf\zabbix_agentd.win.confUserParameter=conncount,d:\\tools\\ ...

  5. spotlight on windows 监控

    1. spotlight on windows 安装 下载 https://pan.baidu.com/s/1qYi3lec Spotlight大家可以从其官方网站(http://www.quest. ...

  6. windows监控 排查蓝屏问题

    DUMP包分析 工具WinDbg,下载打开,按ctrl+S  输入:SRV*C:\websymbols*http://msdl.microsoft.com/download/symbols:点击OK, ...

  7. 搬运:Python for Windows——监控Windows某个目录下文件的变化

    https://win32com.goermezer.de/content/view/286/285/ 这个网站真是给力,不多说,代码直接搬运过来,还有我的测试结果,拿走不谢! import os i ...

  8. Windows监控——性能指标详解(转)

    http://blog.csdn.net/yiqin3399/article/details/51730106

  9. LR监控Windows资源

    1.监控准备: 监控方: 1)安装tcp/ip协议下的netbios 2)用administrator登录 被监控方: 1)被监控的Windows开启两个服务: Remote ProcedureCal ...

随机推荐

  1. Grafana中整个Dashboard报错问题解决

    操作Grafana时,有时不小心按了"CTRL+Z",会导致整个Dashboard出错,如下所示: 目前找到一个解决方案,也许不是正路,但是能解决上述问题,如果有了更简单有效的解决 ...

  2. 从零搭建DotnetCore2.0

    右键解决方案>新建项目> 选择Web>ASP.NETCoreWeb应用程序(.NET Core) 选择Web应用程序,暂时不选择启用Docker,身份验证选择个人用户账户(会自动生成 ...

  3. Chrome浏览器扩展开发系列之十七:扩展中可用的chrome.events API

    chrome.events中定义了一些常见的事件类型,可以供Chrome浏览器扩展程序发出对应的事件对象. 对于关注的事件,首先要通过addListener()在对应的事件上注册监听器,示例如下: c ...

  4. Spring3 MVC 类型转换

    1. Spring在进行类型转化都是基于java.beans.PropertyEditor接口. 2. 可以使用@InitBinder来进行对单个controller的类型进行操作,比如添加Date类 ...

  5. 51nod_1265:四点共面(计算几何)

    题目链接 设四点为a_0~3,若共面则 (a1a0*a2a0)·a3a0=0 #include<iostream> #include<cstdio> #include<c ...

  6. redis分布式锁和消息队列

    最近博主在看redis的时候发现了两种redis使用方式,与之前redis作为缓存不同,利用的是redis可设置key的有效时间和redis的BRPOP命令. 分布式锁 由于目前一些编程语言,如PHP ...

  7. log4j日志重定向

    配置相应的类名或者包名,将日志重新定向到输入文件里 log4j.rootLogger=INFO,DEBUG,CONSOLE ##过滤日志 log4j.logger.[类名|包名]=INFO,[输出目的 ...

  8. linux 在jetty中部署web工程

    背景:公司中原有的项目需要在jetty中进行部署,所以要掌握相关知识. 1 部署步骤 首先要保证jdk环境变量配置正常,然后去官网下载对应版本号的jetty,解压缩即可. 将需要部署的web应用,wa ...

  9. 1.Why Apache Spark?

    Why Apache Spark? 1 Why Apache Spark 2 关于Apache Spark 3 如何安装Apache Spark 4 Apache Spark的工作原理 5 spark ...

  10. 一.CPU,Mem过高怎么办 --这是个开始

    本身是名Java开发,在做了一段大数据的工作后,猛然间想对Java做个总结. 从未写过技术博客,一时不知如何开始,思虑后,暂且以自己喜爱的方式来开篇. 工作中遇到过CPU或内存过高的问题,解决步骤: ...