Я использую простой скрипт vb для получения процента загрузки CPU0, но перечисление WMI на Windows Server 2016 значительно медленнее, чем на старых версиях, и мне нужно оптимизировать скорость.
Вот мой короткий сценарий:
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 Servers занимает 2 секунды. Можно ли что-нибудь сделать для оптимизации перечисления WMI? Заранее спасибо.