找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 17596|回复: 2

[问题求助] VBS监控内存如何通过WMI获取进程的虚拟内存使用量?

[复制链接]
发表于 2013-5-31 14:40:54 | 显示全部楼层 |阅读模式
想通过WMI获取一个进程没有映射在物理内存里的虚拟内存使用量,不知道怎么才能获得,希望大家们帮帮忙!
发表于 2013-6-2 19:09:37 | 显示全部楼层
回复 1# 将脚本进行到底

以前做了这个,你看看有没有帮助
  1. 'by   @hello老崔


  2. '---------------------------

  3. '---------------------------
  4. '特别说明:每隔3秒抓取一次内存数值,单位:KB !!

  5. '开始时间:20:05:02,结束时间:20:05:05,时间间隔:3分钟

  6. '监控文件保存在:d:\alg.exe--20-5_monitor.txt
  7. '---------------------------
  8. '确定   
  9. '---------------------------

  10. on error resume next
  11. stnCx="."
  12. Set obj=GetObject("winMGmts:\" & sTnCx & "\root\cImV2")
  13. Set col=obj.ExecQuerY("Select * from Win32_ProCEss WherE " & "Name = 'cscript.exe' or Name = 'wscript.exe'")
  14. Set fso = CreateObject("Scripting.FileSystemObject")

  15. n=0
  16. processname=InputBox("输入进程名称:","提示")
  17. MsgBox "确认输入的进程名称:"&processname
  18. t= CInt(inputbox("现在时间是:"&Time&"输入监控时间,单位:(分钟)","提示"))
  19. atime=Time
  20. filename="d:"&processname&"--"&CStr(Hour(time))&"-"&CStr(Minute(time))&"_monitor.txt"
  21. Set file=fso.CreateTextFile(filename,True)

  22. If processname<>"" then
  23.         Do
  24.                 If (t-n/60)        <1 Then
  25.                         Exit Do
  26.                 else
  27.                
  28.                         Set col=obj.ExecQuerY("Select * from Win32_ProCEss WherE " & "Name = '"& processname &"'")
  29.                                 If col.count=0 Then
  30.                                         exits
  31.                                 else
  32.                                         For Each wmiObject In col
  33.                                                 memorys = wmiObject.workingsetsize/1024
  34.                                                 file.writeline memorys
  35.                                         next
  36.                                 End if
  37.                 End if
  38.                 WScript.Sleep 3000
  39.                 n= n+3
  40.         Loop
  41.         file.close
  42.        
  43. Else
  44.         MsgBox "没有输入进程名称!"
  45. End If

  46. MsgBox "特别说明:每隔3秒抓取一次内存数值,单位:KB !!" &vbCrLf&vbcrlf&"开始时间:"&CStr(atime)&",结束时间:"&CStr(Time)&",时间间隔:"&CStr(n/60)&"分钟"&vbCrLf&vbcrlf&"监控文件保存在:"&filename

  47. Function exits()
  48. MsgBox "没有找到进程,点击确定退出!"
  49. WScript.quit
  50. End Function
复制代码
发表于 2021-1-2 19:10:11 | 显示全部楼层
监控内存如何通过WMI获取进程的虚拟内存使用量
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 06:24 , Processed in 0.016669 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表