Почему Поставщик WMI Размещает (WmiPrvSE.exe), продолжают пронзать мой ЦП?

Я обычно сохраняю свой ноутбук на 24x7, и в конце дня это является действительно раздражающим, чтобы записать мои бедра потому что по перегреву.

Перегрев, кажется, результат Хоста Поставщика WMI (WmiPrvSE.exe), пронзающий загрузку ЦП к 25% каждые несколько минут. Почему это происходит?

У меня есть HP Envy 14 (со связанным дерьмом HP) работающий на Windows 7 Home Premium.

(Примечание: На основе прошлых наблюдений @nhinkle кажется, что HP Wireless Manager мог бы быть преступником, есть ли какой-либо способ подтвердить это?)

Этим вопросом был Вопрос о Суперпользователе Недели.
Прочитайте запись в блоге 28 февраля 2011 для получения дополнительной информации или отправьте Ваш собственный Вопрос Недели.

88
задан 17.03.2017, 12:12

4 ответа

Как Sathya упомянул в его вопросе, у меня был предыдущий опыт с этой проблемой на моем подобном ноутбуке HP, и я теперь подтвердил использование научного метода, что пики нагрузки ЦП на ноутбуках HP вызываются HP Wireless Assistant. Или, HP CPU Assassin, поскольку я могу начать называть его.

Обзор эксперимента

  • Вопрос: Что заставляет ЦП на ноутбуке HP пронзать через короткие интервалы, конкретно WmiPrvSE.exe процесс?

  • Гипотеза: HP Wireless Assistant (HPWA) вызывает проблему

  • Метод:

    1. Посмотрите, начинает ли проблема происходить, когда HPWA установлен.
    2. Посмотрите, прекращает ли ЦП пронзать и WmiPrvSE.exe обработайте прекращает использовать> 20% ЦП, когда процесс HPWA приостановлен.
    3. Посмотрите, если запуски ЦП, пронзающие снова, когда процесс HPWA будет повторно включен
    4. Повторите шаги 2 и 3 для нескольких пробных версий для обеспечения точный из результатов
       
  • Результаты: HPWA вызывает экстремальное использование ЦП

  • Заключение: необходимо удалить HPWA, поскольку он не делает ничего полезного

Справочная информация

Когда я получил свой ноутбук HP Pavillion dm4t, я заметил, что ЦП будет часто пронзать к целому 50%-му использованию, почти каждая вторая секунда. Это истощало ресурс аккумулятора и подогревало ноутбук; почти такие же признаки как Sathya испытали. Только путем рассмотрения Монитора ресурсов в Windows 7, я смог видеть что процесс WmiPrvSE.exe был виновным.

cpu nom nom

Быстрый поиск Google подтвердил мое предположение, что это было хост-процессом инструментария управления Windows (WMI). Короче говоря, WMI может использоваться для запросов для получения информации о системе, как использование процессора, выполняя процессы, кто зарегистрирован, и все виды другой информации. Хост-процесс WMI выполняет запросы WMI для любого другого процесса, делающего их, таким образом, WmiPrvSE.exe не был самостоятельно преступник, это был просто посредник.

Для выслеживания, какой определенный процесс вызывал эту проблему, я использовал Проводник Процесса Systinternals. Я нашел который экземпляр WmiPrvSE.exe процесс использовал большую сумму ЦП и нажал на него для открытия подробной информации.

process explorer

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

services nom nom

Я полагал, что это не будет встроенная служба Windows, вызывающая проблему, таким образом устраняя их, я решил работать вниз список и попытаться отключить каждый сервис и видеть если сохраненная проблема. Прямо сверху списка был HP Wireless Assistant Service. Я вернулся к сервисному меню и отключил тот сервис. Оглядываясь назад в диспетчере задач, я видел, что использование ЦП почти к ничему не перешло. Я сервис HPWA назад на. Использование ЦП ответило. У меня теперь было достаточно данных для формирования моей теории. Я удалил сервис HPWA и никогда не имел проблему снова.

Проверка гипотезы

Несколько месяцев спустя Sathya задает этот вопрос. Я решил доказать раз и навсегда, что это было отказом HPWA. Я переустановил HP Wireless Assistant, который я не имел установленный в течение многих месяцев. Сразу же, поднятое использование процессора. Я затем довел до конца эксперимент, обрисованный в общих чертах выше.

Во-первых, я изолировал процесс, ответственный за сервис HPWA в Мониторе ресурсов. HPWA_Service.exe и HPWA_Main.exe два. Вот то, что использование ЦП было похоже с обоими из них на обработанное выполнение:

task manager with hpwa running

Затем я приостановил оба процесса. Использование ЦП сразу понизилось; вот то, на что это было похоже с нескольких моментов для предыдущего использования ЦП на графике для очистки:

task manager without hpwa running

Я позволил процессам снова видеть, возвратится ли использование. Это сделало:

task manager just enabled hpwa
Первый скачок, поскольку я включаю HPWA

task manager after enabling hpwa
Некоторое время после того, как я включил HPWA

Приостановка процессов снова привела к использованию ЦП, возвращающемуся вниз:

lower cpu usage after disabling hpwa

Я протестировал это на еще одно повторение, и на третьей пробной версии, та же точная вещь произошла снова. Я полагал, что эти достаточные доказательства показали, что HP Wireless Assistant вызывал проблему, и впоследствии отключил сервис и теперь удалит их.

Весь HPWA, кажется, делает, сообщают пользователю, когда их беспроводная связь включается или выключается, и бормотание ЦП. Нет ничего, что можно сделать с ним, что Вы не можете сделать со встроенными инструментами беспроводного управления, таким образом, я советовал бы, если Вам установили это программное обеспечение, удалить его.


Примечание: По крайней мере один человек сообщил, что удаление HPWA вызвало их беспроводную связь, включают клавиатуру, чтобы прекратить работать. На моем ноутбуке это продолжало хорошо работать после удаления HPWA, но в случае, если Ваш прекращает работать, можно всегда отключать беспроводную карту из Windows. Нажмите Winkey+x для открытия Windows Mobility Center, затем нажмите Turn Wireless Off кнопка.

windows mobility center


Согласно обсуждению HP Support Forums, проблема была решена в более поздних версиях HP Wireless Assistant. Если Вашему ноутбуку нужен HPWA для использования Wi-Fi кнопка включения - выключения, Вы можете загрузить последнюю версию с веб-сайта драйверов HP и вероятно не будете больше иметь этой проблемы. Тем не менее, если Вам не нужен он для Wi-Fi кнопка включения - выключения, все еще, кажется, нет никакой добавленной стоимости от установки этого программного обеспечения.

110
ответ дан 07.12.2019, 08:00

Поиск и устранение неисправностей

  1. Загрузите ProcDump с Microsoft Sysinternals.

  2. Позвольте ему взять дамп, после того как WmiPrvSE.EXE поражает 25% в течение 1 секунды:

    procdump.exe -c 25 -s 1 -x WmiPrvSE.EXE %HOMEPATH%\WmiPrvSE.dmp
    

    Это создаст дамп в Вашей папке User.

    Не стесняйтесь повторять это еще 1 - 2 раза, таким образом, Вы имеете больше дампов и можете быть уверены, что причина выводится и не другое более нормальное событие.

  3. Проанализируйте свой дамп (дампы) онлайн и дополнительно совместно используйте его на SpeedyShare.

    Альтернатива: WinDBG мог использоваться с командой !analyze -v, обязательно установите символы.

  4. Отслеживание стека, которое шоу должны включать процедуру, которая вызывает это.

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


  1. Загрузите установку с Windows Performance Analysis Tools для Вашей версии Windows.
  2. Установите программное обеспечение в своей системе.
  3. Откройте командную строку как администратора и скопируйте, вставляют следующую команду:

    xperf -start perf!GeneralProfiles.InBuffer -stackwalk profile && timeout -1 && xperf -stop perf!GeneralProfiles.InBuffer %HOMEPATH%\myTrace.etl
    
  4. НАЖМИТЕ ENTER однажды для запуска команды, теперь необходимо будет ожидать, пока скачок не произошел.

  5. Прямо после Вашего скачка Вы переходите к консоли и нажимаете ENTER.
  6. После ожидания некоторого времени файл журнала myTrace.etl будет произведен в Вашей пользовательской папке.
  7. Выполните следующую команду, чтобы показать файл и проанализировать его (Требуемый WinDBG/Symbols):

    xperf %HOMEPATH%\myTrace.etl
    

Если Вы хотите, чтобы я изучил его:

  1. Сожмите myTrace.etl от своей Пользовательской Папки до zip-файла.
  2. Совместно используйте сжатый zip-файл на SpeedyShare.
  3. Поделитесь ссылкой здесь, я сделаю попытку найти и показать Вам причину Вашей проблемы.

Поскольку WmiPrvSE.EXE является хостом к рабочим запросам WMI против хранилища CAPI, Вы не смогли находить причину даже с XPerf из-за IPC, другое решение, которое я только что нашел, состояло бы в том, чтобы включить вход WMI и проверку журналов, как описано здесь, ClientProcessId будет PID Процесса, который сделал запрос WMI. Этот PID может быть прослежен назад к процессу путем добавления столбца PID к Проводнику Диспетчера задач или Процесса, или с tasklist /FI "PID eq X" где X PID, Вы нашли...


Анализ Дампа 1: Строки 94-115 указывают на Вызов удаленной процедуры.
Анализ Дампа 2: Строки 84-105 указывают на Вызов удаленной процедуры.

В Ядре новая дискуссия начата для обработки тупика Вызова удаленной процедуры, который в сущности является запросом запроса, который Поставщик WMI выполнит и ответит на. Это приводит к высокой активности ЦП из-за чтения информации о Реестре и/или Производительности.

Поскольку дамп является получением единственного момента, который Вы не сможете видеть, какой процесс выполнил RPC.
Так, Вам нужна программа, которая прослеживает как XPerf для наблюдения предыдущего сообщения, которое сделало бы RPC.

Или при включении информации о состоянии RPC можно использовать rpcdbg для наблюдения, кто инициировал вызов.

Пример:

0:000> bp rpcrt4!RpcServerUseProtseqEpA
0:000> g
Breakpoint 0 hit
eax=00452000 ebx=7ffd5000 ecx=00452008 edx=00000014 esi=00d5f55c edi=7c911970
eip=77e97a0b esp=0012ff3c ebp=0012ff6c iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000206
RPCRT4!RpcServerUseProtseqEpA:
77e97a0b 8bff mov edi,edi
0:000> kb
ChildEBP RetAddr Args to Child
0012ff38 00401046 00452000 00000014 00452008 RPCRT4!RpcServerUseProtseqEpA
0012ff6c 00401e37 00000001 003330a0 00333120 hellos!main+0x46 [e:\projects\hello\hellos.c @ 21]

Вышеупомянутый пример устанавливает точку останова на RPC, таким образом, Вы добираетесь для наблюдения, кто выполняет его во второй строке стека. Но хорошо, маловероятно, что установка точки останова на первом вызове (обратите внимание на то, что это - живая отладка) поможет Вам видеть, кто называет Поставщика WMI каждым разом...

Существует намного больше информации в той статье об информации о состоянии RPC, которая могла бы помочь, но это не для малодушного как мы для прохождения через всего этого, когда мы могли просто использовать XPerf вместо этого.:-)


Как мы теперь знаем о внутренней работе того, как RPC работает, мы могли также использовать Монитор API:

  1. Загрузите, установите и запустите Монитор API. (дважды, если у Вас есть 64 бита: однажды x86, однажды x64)
  2. Перейдите к Файлу-> Выполненный Как Администратор
  3. Установите фильтр получения API к Rpcrt4.dll модуль.

    enter image description here

  4. Подобный точке останова, мы хотим знать, кто звонит RpcServerUseProtSeq функции:

    enter image description here

  5. Сцепите каждый Рабочий Процесс за исключением тех, которые имеют низкий PID (для предотвращения катастрофических отказов).
    Идеал, Вы не хотите сцепляться dwm.exe/winlogon.exe или ниже.
    Вы могли также попробовать единственные процессы и отсоединить их позже из окна Hooked Processes...

    Хотя... Я попробовал его и мог сцепиться о любом процессе.

  6. Если все будет подходить, то Крючковатый Процесс, который делает вызов RPC, будет содержать потоки.
    И при нажатии на эти потоки, необходимо видеть набор вызовов.
    Если Вы делаете, Вы нашли процесс, вызывающий проблему!

Решение

Совершенствование Вашего компьютера важно, устанавливание HPWA 4.0.10.0 решает это!;-)

38
ответ дан 07.12.2019, 08:00

Запись в блоге Microsoft Является WMIprvse настоящий злодей? шоу, как найти, какой процесс ответственен за ЦП, который использует WmiPrvSE.exe.

Метод использует опцию средства просмотра События "Аналитичного шоу и Журналы Отладки" для трассировки всего действия WMI, таким образом, получая идентификатор процесса виновного процесса.

13
ответ дан 07.12.2019, 08:00

Вы попытались видеть, является ли это вирус? Некоторым вирусам действительно нравится шествовать вокруг как службы Windows как этот. Удостоверьтесь WmiPrvSE.exe процесс расположен в c:\windows\system32\wbem каталог. В противном случае Вы могли бы хотеть запустить общие программы обнаружения шпионского ПО. Если это не шпионское ПО, это могло бы возможно другой сервис, который это называет им. Я знаю, что имею быстрый несколько гаджетов, работающих на моем компьютере, и иронически гаджет монитора производительности иногда делает мой пик нагрузки ЦП немного. Кроме того, это мог быть другой сервис, который нажимает тот газ время от времени. Например, раздутое программное обеспечение от HP, Dell, и т.д.

Кроме этого, другой ответ от TomWij кажется довольно хорошим для поиска и устранения неисправностей его вниз!

1
ответ дан 07.12.2019, 08:00

Теги

Похожие вопросы