我使用一个简单的vb脚本来获取CPU0的负载百分比,但是Windows Server 2016上的WMI枚举明显慢于旧版本,我需要优化速度。
这是我的短剧:
Option Explicit
Dim objWMIService, processItems, objitem, loadpercentage
loadpercentage= 0
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set processItems = objWMIService.ExecQuery("SELECT * FROM Win32_Processor _
WHERE DeviceID='CPU0'", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem In processItems
loadpercentage = objItem.LoadPercentage
Next
设置processItems和进入For Each循环之间有10秒的延迟。旧版Windows服务器上的相同脚本需要2秒钟。可以做任何事情来优化WMI枚举吗?提前致谢。