WmiPrvSE.exe грузит систему на 100%. Как победить.

 Сегодня столкнулся со следующей проблемой. В офисе начала тормозить одна из машин. 

Смотрим диспетчер задач: систему на 100% грузит процесс WmiPrvSE.exe

Убийство этого процесса не помогает, он заново появляется и продолжает грузить систему.

Далее идет необязательный (как позже выяснилось) шаг, который я сделал для диагностики проблемы: чтобы понять что делает этот процесс, скачиваем Process Monitor из набора Microsoft SysInternals

Оказалось, что этот процесс в цикле обращается к файлу tzres.dll, по много сотен раз в секунду, естественно из-за этого все подвисает. Поиск в гугле ничего полезного не дал. В основном люди советуют удалить Windows System Resource Manager, однако его на компьютере не было.

А вот решение, которое помогло мне обнаружить корень проблемы.

Тут я прочитал как понять что именно заставляет WmiPrvSE.exe так усиленно нагружать процессор. Коротко по-русски:

Запускаем Event Viewer (правой кнопкой, «запуск от имени администратора» — это важно).

В меню View (Вид) выбираем Show Analytic and Debug Logs (Отобразить аналитический и отладочный журналы)

Идем сюда: Application and Services Logs -> Microsoft -> Windows -> WMI-Activity (Журналы приложений и служб -> Microsoft -> Windows -> WMI-Activity)

 

правой кнопкой жмем на WMI-Activity -> Trace и выбираем Свойства.

Выбираем Enable Logging (Включить ведение журнала) (обязательно чтобы Event Viewer был запущен под администратором, иначе галочка не сохранится).


Сразу после применения и обновления логов в правой области появляется много событий,


где в тексте  описания можно найти параметр ClientProcessId. Это и есть PID процесса, который обращается к WmiPrvSE.exe.


Теперь в диспетчере задач ищем этот PID и дальше действуем по ситуации. В моем случае это оказалась панель от МФУ HP 3055 — HPToolboxFX. Удалив этот процесс, все сразу наладилось. Поскольку эта панель сама по себе довольно бесполезна, я решил убрать ее из автозапуска в реестре.

В моем случае это решило проблему.