Что за процесс WmiPrvSE.exe и почему он грузит процессор


Что за процесс WmiPrvSE.exe и почему он грузит процессор

WmiPrvSE.exe потребляет 100 % CPU в Windows Server 2008R2

Всем привет! Сегодня хочу рассказать, как бороться с тем, что wmiprvse.exe потребляет 100 % CPU в Windows Server 2008R2. Согласитесь, что ни один процесс в нормальном состоянии не может потреблять все процессорные мощности, так как из-за этого будет страдать вся система и ее производительность в целом. WmiPrvSE.exe — это процесс, который использует механизм WMI для получения неких данных о сервере и слежению за ним. Бывают случаи когда этот процесс кушает 100 процентов процессора и весь сервер начинает тормозить. Мы рассмотрим как определить, кто это делает и как с этим бороться.

Почему Wmiprvse.exe грузит процессор?

  • Ситуация следующая есть сервер IBM System x3650 M3, на котором крутится некий сервис, в одно время сервер начинает тормозить, обнаруживается, что процесс Wmiprvse.exe грузит почти все CPU мощности.

Данный процесс является системным и должен запускаться из C:\Windows\System32\wbem ну максимум из C:\Windows\System32, если файл лежит в другом месте, то поздравляю у вас вирус, можете его вычищать.

Расположение WmiPrvSE

  • Вторым моментом, который может нагружать вашу систему через процесс Wmiprvse.exe, может выступать обновление Windows. Оно могло установиться некорректно или быть поврежденным, в следствии чего данный процесс может себя вести подобным образом. В таком случае я вам советую почистить папку SoftwareDistribution. В результате чего вы удалите и устраните все сбойные или поврежденные обновления.
  • Если данный метод не помог, то можно попробовать восстановить систему и откатиться на момент, когда у вас не наблюдалась проблема. Произвести восстановление можно описанным по ссылке методом.
  • Еще можно попробовать просканировать ваши системные файлы на наличие ошибок

Выясняем кто вызывает WmiPrvSE

Открываем просмотр событий, либо нажимаем сочетание клавиш Win+r и пишем eventvwr.msc, либо Пуск-Администрирование-Просмотр событий.

открываем просмотр событий

Выбираем сверху вид-Отобразить аналитический и отладочный журналы

теперь слева открываем «Журналы Windows-Журналы приложений и службы-Microsoft-Windows»

WMI-Activity

Находим там журнал «WMI-Activity» и заходим в его свойства

свойства WMI-Activity

Включаем ведение журнала

Включаем WMI-Activity

Начался мониторинг «WMI-Activity активности»

Включаем WMI-Activity

Обновляем страницу и видим, побежали логи, в моем случает это был SCOM 2012 R2 его определил по PID и по учетке от имени которой он запускался. В своей практике среди приложений нагружающих через Wmiprvse.exe ваш процессор я наблюдал:

scom wmi

Популярные Похожие записи:
  • Как посмотреть логи windows
  • Как отключить инверсию мыши, за минуту
  • Обновление прошивки dongleserver ProMAX
  • Тестирование и диагностика сервера Dell R740
  • Ошибка whea uncorrectable error в Windows 10 anniversary update
  • Не открывается пуск в Windows 10, 100% решение

Высокий уровень использования ЦП процессом WMI Provider Host (WmiPrvSE.exe) через регулярные промежутки времени в Windows

В этой статье предоставляется обходное решение проблемы с высоким уровнем использования ЦП процессом WmiPrvSE.exe через регулярные промежутки времени.

Применимо к: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 10 — все выпуски
Оригинальный номер базы знаний: 4483874

Симптомы

При использовании компьютера с Windows вы заметите, что процесс Windows Management Instrumentation (WMI) Provider Host (WmiPrvSE.exe) использует высокую емкость ЦП (около 100 процентов) в течение нескольких минут каждые 15–20 минут.

Когда возникает проблема, используйте диспетчер задач для определения идентификатора процесса (PID) для процесса WmiPrvSE.exe, который вызывает высокое использование ЦП. Из командной строки с повышенными привилегиями запустите следующую команду:

tasklist /m wmiperfclass.dll 

Отобразится список процессов WmiPrvSE.exe, которые загрузили этот модуль. Обычно в списке указан только один процесс. Однако, если у вас есть 32-битные и 64-битные клиенты, вы можете увидеть два процесса. Вот пример вывода:

Если PID процесса из списка совпадает с тем, который вы нашли в диспетчере задач, скорее всего, вы столкнулись с проблемой, описанной в этой статье.

Причина

Подобная проблема может быть вызвана каким-либо из указанных ниже факторов.

Один или несколько процессов используют большое количество обработок

Все обработки хранятся в структуре ядра \BaseNamedObjects. Поставщик WMIPerfClass должен сканировать эту структуру при создании класса производительности, связанного с объектами «Задания».

Если эта структура перегружена из-за большого количества обработок, операция будет иметь высокий уровень использования ЦП и займет больше времени, чем обычно.

Вы можете ожидать влияния для этого условия, если в процессе используется более 30 000 обработок, или общее количество обработок в системе превышает 50 000.

Обновление, выпущенное в марте 2020 г. для поддерживаемых версий операционной системы, включает оптимизацию производительности и решает некоторые варианты этой проблемы. Дополнительные сведения об обновлении, которое применимо к вашей версии Windows, обратитесь к журналу обновлений Windows.

Один или несколько процессов, запущенных в системе, используют много памяти

Это влияет на создание классов производительности «Процесс», так как должна запрашиваться область памяти каждого запущенного процесса. Память, используемая в процессе, может быть фрагментирована, что делает операцию более ресурсоемкой. Это происходит потому, что процесс WMIPerfClass также запрашивает счетчики производительности с затратами.

Проверить, включены ли счетчики производительности с затратами, можно с помощью следующей команды PowerShell:

‎ (gwmi -query 'select * from meta_class').Name | ?

Если команда возвращает результаты, это указывает на то, что счетчики производительности с затратами включены. Например:

Win32_PerfFormattedData_PerfProc_FullImage_Costly
Win32_PerfRawData_PerfProc_FullImage_Costly
Win32_PerfFormattedData_PerfProc_Image_Costly
Win32_PerfRawData_PerfProc_Image_Costly
Win32_PerfFormattedData_PerfProc_ProcessAddressSpace_Costly
Win32_PerfRawData_PerfProc_ProcessAddressSpace_Costly
Win32_PerfFormattedData_PerfProc_ThreadDetails_Costly
Win32_PerfRawData_PerfProc_ThreadDetails_Costly

Обходной путь

Чтобы устранить проблему, определите процесс, использующий большое количество обработок или большое количество памяти. В процессе могла возникнуть утечка памяти или проблема с утечкой обработок. В качестве обходного пути перезапустите процесс.

По умолчанию, если используется Windows Server 2016 или более поздние версии Windows, счетчики производительности с затратами отключены, начиная со следующих накопительных обновлений:

  • Windows Server 2016 / Windows 10 версии 1607 (RS1)
    18 октября 2018 г. — KB4462928 (сборка ОС 14393.2580)
  • Windows 10 версии 1703 (RS2)
    24 июля 2018 г. — KB4338827 (сборка ОС 15063.1235)
  • Windows 10 версии 1709 (RS3)
    24 июля 2018 г. — KB4338817 (сборка ОС 16299.579)
  • Windows 10 версии 1803 (RS4)
    16 июля 2018 г. — KB4345421 (сборка ОС 17134.167)

После установки накопительного обновления, если вам нужны классы, связанные со счетчиками производительности с затратами, установите для параметра Включить дорогостоящие поставщики значение до 1 (DWORD) в следующем подключе реестра, чтобы сделать их доступными снова:

Накопительное обновление не повлияет на поведение, когда в процессе используется большое количество обработок.

Эта проблема происходит, когда клиент запрашивает классы производительности. Обычно это приложение для мониторинга.

В качестве обходного решения можно также отключить приложение для мониторинга, чтобы предотвратить создание классов производительности.

Дополнительные сведения

WMI предоставляет несколько классов производительности. Для получения дополнительной информации см. Классы счетчика производительности.

Эти классы создаются динамически на основе счетчиков производительности, доступных в системе. Все классы создаются одновременно, а не только запрашиваемые классы.

WMIPerfClass — это модуль, который обрабатывает создание этих классов, когда клиент WMI запрашивает любой из них или составляет список доступных классов.

Эти классы производительности хранятся в кэше, который недействителен через 15–20 минут. Как только кэш станет недействительным, классы производительности должны быть созданы снова, если клиент запрашивает их.

Создание классов производительности означает, что модуль WMIPerfClass.dll должен быть загружен внутри процесса WmiPrvSE.exe и связанного кода.

Что делать, если процесс wmiprvse.exe грузит процессор

Процесс wmiprvse.exe грузит процессор как исправить

Ситуация, когда компьютер начинает тормозить и на системном блоке постоянно горит красный индикатор активности жесткого диска, знакома каждому пользователю. Обычно при этом он сразу же открывает диспетчер задач и пытается определить, что именно приводит систему к зависанию. Иногда причиной проблемы является процесс wmiprvse.exe. Первое, что приходит на ум — это завершить его. Но зловредный процесс тут же появляется вновь. Что же делать в таком случае?

Пути решения проблемы

Процесс wmiprvse.exe относится к системным. Именно поэтому его нельзя удалить из диспетчера задач. Отвечает этот процесс за подключение компьютера к внешнему оборудованию и управление им. Причины, по которым он вдруг начинает грузить процессор, могут быть разными:

  • Некорректно установленное приложение, которое постоянно запускает процесс;
  • Проведенное с ошибками обновление системы;
  • Вирусная активность.

Каждая из этих причин устраняется своим способом. Рассмотрим их подробнее.

Способ 1: Определение приложения, запускающего процесс

Сам по себе процесс wmiprvse.exe грузить процессор не будет. Это происходит в тех случаях, когда его запускает какая-либо некорректно установленная программа. Найти ее можно, выполнив «чистую» загрузку операционной системы. Для этого необходимо:

  1. Открыть окно конфигурации системы, выполнив в окне запуска программ («Win+R») команду msconfig
    Команда открытия окна конфигурации системы в Виндовс
  2. Перейти на вкладку «Службы», отметить галочкой чекбокс «Не отображать службы Майкрософт», а остальные отключить, воспользовавшись соответствующей кнопкой.
    Настройка чистого запуска в окне конфигурации системы в Виндовс
  3. Отключить все элементы на вкладке «Автозагрузка». В Windows 10 для этого понадобится перейти в «Диспетчер задач».
    Отключение элементов автозагрузки в диспетчере задач Виндовс

Если после перезагрузки система будет работать с нормальной скоростью, значит причиной того, что wmiprvse.exe грузил процессор, действительно, является одно, или несколько из тех приложений или служб, которые были отключены. Остается только определить, какое именно. Для этого необходимо поочередно включать все элементы, каждый раз при этом перезагружаясь. Процедура довольно громоздкая, но верная. После включения некорректно установленного приложения или службы система вновь начнет виснуть. Что с ним делать дальше: переустановить, или удалить насовсем — решать пользователю.

Способ 2: Откат обновления Windows

Некорректно вставшие обновления также бывают частой причиной подвисания системы, в том числе и через процесс wmiprvse.exe. В первую очередь на мысль об этом должно натолкнуть совпадение по времени установки обновления и начала проблем с системой. Для того, чтобы решить их, обновления необходимо откатить. Эта процедура несколько отличается в разных версиях Windows.

Удалять обновления следует в хронологическом порядке, пока не будет найдено то, что вызывало проблему. Затем можно попробовать ставить их обратно. В большинстве случаев повторная установка проходит уже без ошибок.

Способ 3: Очистка компьютера от вирусов

Вирусная активность является одной из распространенных причин, по которым может возрастать нагрузка на процессор. Многие вирусы маскируются под системные файлы, в том числе и wmiprvse.exe может на самом деле оказаться вредоносной программой. Подозрение на заражение компьютера должно вызвать, в первую очередь, нетипичное расположение файла. По умолчанию wmiprvse.exe находится по пути C:\Windows\System32 или C:\Windows\System32\wbem (для 64-разрядных систем — C:\Windows\SysWOW64\wbem ).

Определить место, откуда запускается процесс, несложно. Для этого нужно:

Определение места запуска процесса в диспетчере задач Виндовс

  1. Открыть диспетчер задач и найти там интересующий нас процесс. Во всех версиях Windows это можно сделать одним и тем же способом.
  2. С помощью правой кнопки мыши вызвать контекстное меню и выбрать «Открыть расположение файла»

После произведенных действий откроется папка, где находится файл wmiprvse.exe. Если местоположение файла отличается от стандартного, следует провести проверку компьютера на вирусы.

Таким образом, проблема, связанная с тем, что процесс wmiprvse.exe грузит процессор, вполне решаемая. Но для того, чтобы полностью избавиться от нее, может понадобиться терпение и довольно много времени.


Оставьте комментарий