Хорошо, я даю это как ответ, хотя это может и не быть - тем не менее я считаю, что это не подходит для одного комментария.
У меня та же проблема с Windows XP SP3 и Windows 7. Как только я включаю свойство LoadPercentage
в запрос WMI, оно запускается примерно на 1 секунду на физический процессор (т.е. экземпляр Win32_Processor
). Верно и обратное: если я включаю все свойства в запрос, но не включаю свойство LoadPercentage
, он выполняется за пару миллисекунд.
Такое поведение наблюдается при использовании нескольких инструментов, пользовательских или ОС (т. Е. wmic cpu
).
Я могу только предположить, в чем причина, это может быть связано с определением из LoadPercentage
(выделение добавлено):
Нагрузочная способность каждого процессора, усредненная до в последнюю секунду .
Загрузка процессора относится к общей вычислительной нагрузке для каждого
процессор за один раз. Это свойство унаследовано от CIM_Processor.
Реализации поставщика WMI может фактически потребоваться эта 1 секунда для выборки процента загрузки, «усредненного по последней секунде» во время выполнения вызова. Я бы догадался, что провайдер как-то делает это в фоновом режиме и возвращает только то, что у него есть во время звонка. Но в любом случае, это всего лишь предположение.
ОБНОВЛЕНИЕ : FWIW, предварительный просмотр Windows 8 Developer, похоже, показывает то же поведение.