[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

想通过WMI获取一个进程没有映射在物理内存里的虚拟内存使用量,不知道怎么才能获得,希望大家们帮帮忙!

回复 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. Set col=obj.ExecQuerY("Select * from Win32_ProCEss WherE " & "Name = '"& processname &"'")
  28. If col.count=0 Then
  29. exits
  30. else
  31. For Each wmiObject In col
  32. memorys = wmiObject.workingsetsize/1024
  33. file.writeline memorys
  34. next
  35. End if
  36. End if
  37. WScript.Sleep 3000
  38. n= n+3
  39. Loop
  40. file.close
  41. Else
  42. MsgBox "没有输入进程名称!"
  43. End If
  44. MsgBox "特别说明:每隔3秒抓取一次内存数值,单位:KB !!" &vbCrLf&vbcrlf&"开始时间:"&CStr(atime)&",结束时间:"&CStr(Time)&",时间间隔:"&CStr(n/60)&"分钟"&vbCrLf&vbcrlf&"监控文件保存在:"&filename
  45. Function exits()
  46. MsgBox "没有找到进程,点击确定退出!"
  47. WScript.quit
  48. End Function
复制代码

TOP

监控内存如何通过WMI获取进程的虚拟内存使用量

TOP

返回列表