Question Pourquoi l'hôte du fournisseur WMI (WmiPrvSE.exe) continue-t-il à alimenter mon processeur?


Je garde généralement mon ordinateur portable 24 heures sur 24, 7 jours sur 7, et à la fin de la journée, il est vraiment gênant que mes cuisses soient brûlées à cause d’une surchauffe.

La surchauffe semble résulter de l’hôte du fournisseur WMI (WmiPrvSE.exe) qui augmente l’utilisation du processeur à 25% toutes les quelques minutes. Pourquoi cela arrive-t-il?

J'ai un HP Envy 14 (avec la version groupée HP) exécuté sur Windows 7 Home Premium.

(Note: Basé sur @ nhinkle's observations passées, il semble que HP Wireless Manager pourrait être le coupable, existe-t-il un moyen de le confirmer?)

Cette question était un Super User Question de la semaine.
  Lire le 28 février 2011 entrée de blog pour plus de détails ou soumettre votre propre Question de la semaine.


82
2018-02-02 12:36


origine


Eh bien, le meilleur moyen de le confirmer serait de le désactiver et de voir si cela continue;) - Matthieu Cartier
@neuro heh, vrai, mais j'aimerais voir si l'un des Super Users a une approche différente :) - Sathya♦
"C'est vraiment chiant que mes cuisses brûlent" -> Les cuisses ne sont rien, vérifiez ceci. - Tom Wijsman
Avez-vous des gadgets sur le bureau? par exemple. moniteur d'espace disque - Kez
@kez Nope - pas de gadgets - un bureau propre. - Sathya♦


Réponses:


Comme Sathya l’a mentionné dans sa question, j’ai déjà eu l’expérience de ce problème sur mon ordinateur portable HP similaire, et j’ai maintenant confirmé en utilisant la méthode scientifique que les pics de processeur sur les ordinateurs portables HP étaient causés par l’assistant sans fil HP. Ou, l'assassin de processeur HP, comme je peux commencer à l'appeler.

Aperçu de l'expérience

  • Question: Qu'est-ce qui cause le processeur sur les ordinateurs portables HP à pic à intervalles fréquents, en particulier le  WmiPrvSE.exe  processus?

  • Hypothèse: Le HP Wireless Assistant (HPWA) pose problème

  • Méthode:

    1. Vérifiez si le problème commence à se produire lorsque HPWA est installé.
    2. Voir si le processeur arrête de piquer et le WmiPrvSE.exe Le processus cesse d'utiliser plus de 20% du processeur lorsque le processus HPWA est suspendu.
    3. Voir si le processeur recommence à piquer lorsque le processus HPWA est réactivé
    4. Répétez les étapes 2 et 3 pour plusieurs essais afin de garantir la précision des résultats.
  • Résultats: HPWA provoque une utilisation extrême du processeur

  • Conclusion: Vous devriez désinstaller HPWA car il ne fait rien d'utile

Informations d'arrière-plan

Lorsque j'ai reçu mon ordinateur portable HP Pavillion dm4t, j'ai remarqué que le processeur atteignait souvent jusqu'à 50% d'utilisation, presque toutes les deux secondes. Cela épuisait la vie de la batterie et réchauffait l'ordinateur portable; les mêmes symptômes que Sathya a connus. Juste en regardant le moniteur de ressources dans Windows 7, j'ai pu voir que le processus WmiPrvSE.exe était en faute.

cpu nom nom

Une recherche rapide sur Google a confirmé mon hypothèse que c'était la Windows Management Instrumentation (WMI) processus hôte. En bref, WMI peut être utilisé pour interroger des informations système, telles que l'utilisation du processeur, les processus en cours d'exécution, les utilisateurs connectés et toutes sortes d'informations. Le processus hôte WMI exécute des requêtes WMI pour tout autre processus les rendant, WmiPrvSE.exe n'était pas le coupable, c'était simplement un intermédiaire.

Afin de rechercher quel processus spécifique causait ce problème, j'ai utilisé Systinternals Process Explorer. J'ai trouvé quelle instance du WmiPrvSE.exe processus a utilisé une grande quantité de CPU, et cliqué dessus pour ouvrir des informations détaillées.

process explorer

Malheureusement, je ne pouvais voir aucun moyen de savoir quel processus effectuait toutes les requêtes, mais comme je l'avais isolé comme source des pics de processeur et que je savais que c'était un service, je suis allé voir le gestionnaire de services les services dépendaient de WMI, pensant que cela pourrait me conduire à un autre indice.

services nom nom

Je pensais que ce ne serait pas un service Windows intégré, ce qui supprime ceux-ci, j'ai décidé de réduire la liste et d'essayer de désactiver chaque service, et de voir si le problème persistait. Le service d’assistant sans fil HP se trouvait en haut de la liste. Je suis retourné au menu des services et j'ai désactivé ce service. En regardant en arrière dans le gestionnaire de tâches, j'ai vu que l'utilisation du processeur n'avait presque rien. Je reviens au service HPWA. L'utilisation du processeur a augmenté. J'ai maintenant assez de données pour former ma théorie. J'ai désinstallé le service HPWA et je n'ai plus jamais rencontré le problème.

Vérification de l'hypothèse

Plusieurs mois plus tard, Sathya pose cette question. J'ai décidé de prouver une fois pour toutes que c'était la faute de HPWA. J'ai réinstallé l'Assistant sans fil HP, que je n'avais pas installé depuis des mois. Tout de suite, l'utilisation du processeur a augmenté. J'ai ensuite vécu l'expérience décrite ci-dessus.

D'abord, j'ai isolé le processus responsable du service HPWA dans le moniteur de ressources. HPWA_Service.exe et HPWA_Main.exe sont les deux. Voici à quoi ressemblait l'utilisation du processeur avec ces deux traitements exécutés:

task manager with hpwa running

Ensuite, j'ai suspendu les deux processus. L'utilisation du processeur a immédiatement été interrompue. voici à quoi cela ressemblait après quelques instants pour que l'utilisation précédente du processeur sur le graphique disparaisse:

task manager without hpwa running

J'ai réactivé les processus pour voir si l'utilisation reviendrait. Ça faisait:

task manager just enabled hpwa
Le premier pic comme j'active HPWA

task manager after enabling hpwa
  Un peu après avoir activé HPWA 

La suspension des processus a entraîné une nouvelle utilisation du processeur:

lower cpu usage after disabling hpwa

Je l'ai testé pour une dernière itération et au troisième essai, la même chose s'est produite exactement. J'ai considéré cette preuve suffisante pour montrer que l'Assistant sans fil HP était à l'origine du problème, puis a désactivé le service et le désinstalle désormais.

Tout ce que HPWA semble faire, c'est informer l'utilisateur lorsque son réseau sans fil est activé ou désactivé, et engloutir le processeur. Vous ne pouvez rien y faire que vous ne puissiez pas faire avec les outils de gestion sans fil intégrés. Je vous conseille donc de le supprimer si vous avez ce logiciel installé.


Remarque: Au moins une personne a signalé que la désinstallation de HPWA entraînait l'arrêt de son commutateur sans fil sur le clavier. Sur mon ordinateur portable, il a continué à fonctionner correctement après la désinstallation de HPWA, mais au cas où le vôtre cesserait de fonctionner, vous pouvez toujours désactiver la carte sans fil à partir de Windows. presse Winkey+X pour ouvrir le Windows Mobility Center, puis cliquez sur le bouton Turn Wireless Off bouton.

windows mobility center


Selon une discussion sur les forums d'assistance HP, le problème a été résolu dans des versions plus récentes de HP Wireless Assistant. Si votre ordinateur portable a besoin de HPWA pour utiliser le bouton d'activation / désactivation du wifi, vous pouvez télécharger la dernière version depuis le site Web des pilotes HP et vous n'aurez probablement plus ce problème. Néanmoins, si vous n'en avez pas besoin pour le bouton wifi on / off, il ne semble toujours pas y avoir de valeur ajoutée si ce logiciel est installé.


106
2018-02-05 23:05



+1 - très belle réponse complète. Voici ce que mon état de processeur est - w / l'Assassin de processeur HP - i.imgur.com/dMwaJ.png - Sathya♦
Et c'est post suspendre les services i.imgur.com/dn2Em.png - Sathya♦
WHOA! c'est un sérieusement génial poster! Un des articles les plus documentés et les plus capturés déjà vu! +1 !! - studiohack♦
+1, travail de détective génial et poste époustouflant avec des captures d'écran, qui utilise un logiciel assistant sans fil sous Windows, c'est la première chose que je supprime sur un nouveau PC. - Moab
Pour moi c'était la Service Dell Data Vault provoquant le pic du processeur dans le fournisseur WMI. C'est aussi une dépendance comme mentionné dans cette réponse. J'ai trouvé ça avec le Méthode de démarrage de Windows Clean. - Cerveser


Dépannage

  1. Télécharger ProcDump de Microsoft Sysinternals.

  2. Laissez-le prendre un vidage une fois que le WmiPrvSE.EXE atteint 25% pendant 1 seconde:

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

    Cela créera un vidage dans votre dossier utilisateur.

    N'hésitez pas à répéter ceci 1 à 2 fois de plus pour avoir plus de clichés et être certain que la cause est rejetée et pas un autre événement plus normal.

  3. Analysez vos vidages en ligne et éventuellement le partager sur SpeedyShare.

    Alternative: WinDBG pourrait être utilisé avec la commande !analyze -v, assurez-vous de définir des symboles.

  4. La trace de la pile affichée doit inclure la procédure à suivre.

Peut-être google quelques-unes des principales procédures de la pile pour avoir une meilleure idée de ce qu'ils font.
S'ils ne vous aident pas, vous aurez peut-être besoin d'analyses plus poussées. Voir ma prochaine section:


  1. Téléchargez la configuration depuis Outils d'analyse des performances Windows pour votre version Windows.
  2. Installez le logiciel sur votre système.
  3. Ouvrez une invite de commande en tant qu'administrateuret copiez collez la commande suivante:

    xperf -start perf!GeneralProfiles.InBuffer -stackwalk profile && timeout -1 && xperf -stop perf!GeneralProfiles.InBuffer %HOMEPATH%\myTrace.etl
    
  4. presse ENTRER  une fois que pour lancer la commande, vous devrez maintenant attendre que le pic se soit produit.

  5. Juste après votre pic vous allez à la console et appuyez sur ENTRER.
  6. Après un certain temps, un fichier journal myTrace.etl sera créé dans votre dossier utilisateur.
  7. Exécutez la commande suivante pour afficher le fichier et l'analyser (WinDBG/Des symboles Champs obligatoires):

    xperf %HOMEPATH%\myTrace.etl
    

Si vous voulez que je le regarde:

  1. Compressez myTrace.etl de votre dossier utilisateur dans un fichier zip.
  2. Partagez le fichier zip compressé sur SpeedyShare.
  3. Partagez le lien ici, je vais faire une tentative pour trouver et vous montrer la cause de votre problème.

Comme WmiPrvSE.EXE est un hôte pour exécuter des requêtes WMI sur le magasin CAPI, vous ne pourrez peut-être pas trouver la cause même avec XPerf en raison de IPC, une autre solution que je viens de trouver serait d'activer la journalisation WMI et de vérifier les journaux comme décrit ici, ClientProcessId serait le PID du processus qui a effectué la requête WMI. Ce PID peut être retracé au processus en ajoutant une colonne PID au Gestionnaire des tâches ou Explorateur de processus, ou avec tasklist /FI "PID eq X" où X est le PID que vous avez trouvé ...


Analyse de Dump 1: Les lignes 94-115 indiquent un Appel de procédure à distance.
Analyse de Vidage 2: Les lignes 84-105 indiquent un Appel de procédure à distance.

Dans le noyau, un nouveau thread est démarré gérer un talon d'appel de procédure à distance, qui est essentiellement une demande de requête que le fournisseur WMI exécutera et répondra. Cela se traduit par une activité élevée du processeur en raison de la lecture des informations du Registre et / ou des performances.

Un vidage étant une capture d'un seul instant, vous ne pourrez pas voir quel processus a effectué le RPC.
Donc, vous avez besoin d'un programme qui trace comme XPerf pour voir le thread précédent qui ferait le RPC.

Ou si vous activer les informations d'état RPC, vous pouvez utiliser rpcdbg pour voir qui a lancé l'appel.

Exemple:

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]

L'exemple ci-dessus définit un point d'arrêt sur le RPC, vous pouvez donc voir qui l'exécute dans la deuxième ligne de la pile. Mais bon, il est peu probable que définir un point d'arrêt sur le premier appel (notez qu'il s'agit d'un débogage en direct) vous aidera à voir qui appelle le fournisseur WMI à chaque fois ...

Il y a beaucoup plus d'informations dans cet article sur Informations d'état RPC cela pourrait aider, mais ce n'est pas pour les timides comme nous de passer à travers tout ça quand on pourrait utiliser XPerf à la place. :-)


Comme nous le savons maintenant sur le fonctionnement interne du fonctionnement du RPC, nous pourrions tout aussi bien utiliser Moniteur API:

  1. Téléchargez, installez et démarrez l'API Monitor. (deux fois si vous avez 64 bits: une fois x86, une fois x64)
  2. Aller à Fichier -> Exécuter en tant qu'administrateur
  3. Met le Filtre de capture API au Rpcrt4.dll module.

    enter image description here

  4. Semblable au point d'arrêt, nous voulons savoir qui appelle le RpcServerUseProtSeq les fonctions:

    enter image description here

  5. Crochet chacun Processus en cours sauf pour ceux avec un PID faible (pour éviter les accidents).
    Idéal, vous ne voulez pas accrocher dwm.exe/winlogon.exe ou plus bas.
    Vous pouvez également essayer des processus uniques et les décrocher plus tard du Processus Accrochés fenêtre...

    Bien que ... je l'ai essayé et je pourrais m'attarder sur n'importe quel processus.

  6. Si tout se passe bien, le Processus accroché cela fait que l'appel RPC contiendra des threads.
    Et en cliquant sur ces threads, vous devriez voir un tas d'appels.
    Si vous le faites, vous avez trouvé le problème à l'origine du problème!

Solution

Garder votre ordinateur à jour est important, en installant HPWA 4.0.10.0 résout ce problème! ;-)


37
2018-02-02 13:11



@TomWij - Analyse de vidage en ligne 1, 2. Dumps on boîte de dépôt. Aussi, je connais le PID. que puis-je en faire? - Sathya♦
Très belle réponse, @TomWiji, la documentation aide vraiment ... - studiohack♦
Juste installé HPWA, ne semble pas se déclencher. Peut-être besoin d'un redémarrage. Si la même chose se produit sur mon PC, je vais essayer de mettre à jour la publication et montrer comment la plupart des méthodes de dépannage peuvent vous montrer que le problème se produit. - Tom Wijsman
J'ai aimé la réponse de nhinkles un peu mieux - mais c'est génial et utile aussi - mais surtout, un outil comme le moniteur d'API est quelque chose que j'ai commencé à manquer récemment, donc merci et +1 pour le conseil. - Tobias Plutat
@Tom, je n'étais pas sous cette impression et je ne voulais certainement pas l'impliquer. Pourtant je fait ressentez le besoin de reconnaître deux excellentes réponses au problème avec un peu plus de verbosité et de différenciation que ce que je pouvais faire avec les seules réponses positives. :) - Tobias Plutat


L'entrée de blog Microsoft Est-ce que WMIprvse est un vrai méchant? montre comment trouver quel processus est responsable du processeur utilisé par WmiPrvSE.exe.

La méthode utilise l'option Afficheur d'événements de "Afficher les journaux d'analyse et de débogage" pour suivre toute l'activité WMI, obtenant ainsi l'identificateur de processus du processus de culpabilité.


13
2018-02-06 19:14



Ouais, a dit que quelques jours plus tôt et il est également répertorié dans mon post entre XPerf et Dump Analysis, mais il n’a pas vérifié le PID, effectué XPerf ou effectué API Monitor jusqu’à maintenant, je devrai donc attendre avant d’appliquer une analyse plus approfondie. - Tom Wijsman


Juste en ajoutant ceci pour n'importe qui d'autre dans le même bateau, cette page est partout sur Google. J'ai eu le même problème avec WmiProvderHost en augmentant le processeur jusqu'à 50% et en vidant la batterie de mon Lenovo Yoga2 Pro sur Windows 8.1.

Suite à certains des excellents conseils d'enquête ci-dessus, j'ai découvert que le problème était pour moi GoPro Studio (logiciel de montage vidéo gratuit fourni avec les caméras GoPro). Il installe un service de surveillance qui attend que vous connectiez votre caméra et pour moi c'était le coupable.


6
2017-11-14 08:17



Windows 8.1, après la fermeture du programme résident GoPro, l'utilisation de mon processeur hôte WMI est passée de 40% à 8% - user63227
Windows 8.1, qui connaît également une forte utilisation du processeur grâce au logiciel GoPro. Fermé à partir de la barre d'état système et il revient à la normale (et désactivé au démarrage maintenant). - Robin


Pour le déboguer, utilisez xperf à partir du Windows Performance Toolkit et lancez ce fichier cmd:

xperf -on PROC_THREAD+LOADER+PROFILE+INTERRUPT+DPC+DISPATCHER -stackwalk profile -BufferSize 1024 -MaxFile 256 -FileMode Circular -f Kernel.etl
xperf -start WMILogger -on Microsoft-Windows-WMI-Activity::0xff -BufferSize 1024 -f WMI.etl

echo Please capture about 30s of the WMI activity.

pause

xperf -stop
xperf -stop WMILogger
xperf -merge WMI.etl kernel.etl WMItracing.etl

del WMI.etl
del kernel.etl

Ouvrez le fichier WMItracing.etl généré dans WPA.exe et déposez le graphique "Événements génériques" du côté gauche dans le volet d'analyse.

enter image description here

Maintenant filtrer à Activité Microsoft-Windows-WMIévénements uniquement et recherchez les opérations WMI et le ClientProcessId.

Dans mon exemple, ce CLientProcessId appartient à un outil appelé Veeam ONE Monitor Server. L'arrêtant, corrigé le problème d'utilisation du processeur.

Et le deuxième exemple est montré ici:

enter image description here

Vous voyez des appels récurrents d'un processus avec PID de 1924 qui appartient au service Intel ProSet Monitoring.

Ici, l'utilisation du processeur est également affichée dans les piles d'appels d'échantillonnage du processeur:

enter image description here

Ainsi, l'outil Intel effectue des notifications WMI trop souvent et cela provoque les problèmes. L'arrêter, corrigé le problème.


4
2017-08-02 16:07





Avez-vous essayé de voir s'il s'agit d'un virus? Certains virus aiment vraiment défiler comme des services Windows comme celui-là. Assurez-vous que le WmiPrvSE.exe processus est situé dans le c:\windows\system32\wbem annuaire. Sinon, vous pouvez lancer des programmes de détection de logiciels espions. S'il ne s'agit pas d'un logiciel espion, il pourrait s'agir d'un autre service qui l'appelle. Je sais que j'ai rapidement quelques gadgets fonctionnant sur mon ordinateur et, ironiquement, le gadget Moniteur de performances rend parfois mon processeur légèrement plus puissant. En outre, cela pourrait être un autre service qui presse ce gaz de temps en temps. Par exemple, bloatware de HP, Dell, etc.

En dehors de cela, l’autre réponse de TomWij semble plutôt intéressante pour le dépanner!


1
2018-02-02 13:36



Une autre façon plus générique de vérifier cela est d'utiliser Explorateur de processus de Sysinternals puis activez le Verify Signatures option; alors, s'il dit (Verified) X dans le Verified Signer colonne alors il est vérifié par Microsoft et l'exécutable fait partie du produit / entreprise X, dans ce cas Microsoft Windows. - Tom Wijsman
Je suis quasiment sûr qu'il n'y a pas de virus / programme malveillant. WmiPrvSE est également présent dans C:\Windows\system32\wbem et colonne vérifiée indique que le fichier est vérifié. @TomWij - Sathya♦
@ Sathya Je dirais probablement que c'est le bloatware alors, surtout parce que vous avez commenté que vous aviez une merde HP "avec la merde HP". Essayez d'utiliser msconfig et de désactiver tous les services et programmes HP au démarrage et vérifiez si cela vous aide. - Duall
point, j'ai l'intention de réinstaller Win 7 une fois que je réparer mon SSD, pensé que ce sera une question intéressante - plus pour apprendre à déboguer - Sathya♦