Wie Sie herausfinden, warum WMI Provider Host so viel CPU braucht
WMI Provider Host im Task-Manager ist WmiPrvSE.exe, der Windows-Prozess, der Fragen beantwortet, die Programme zum System stellen: welche Datenträger es gibt, wie voll der Akku ist, welche Dienste laufen. Aus eigenem Antrieb braucht er selten CPU. Liegt er lange bei 10 bis 30 Prozent, fragt ihn ein anderes Programm zu oft oder etwas Aufwendiges, und die Abhilfe ist, dieses Programm zu finden, nicht den Provider Host selbst.
Was er gerade tut
Windows Management Instrumentation (WMI) ist der Weg, auf dem Skripte, Überwachungswerkzeuge, Begleit-Apps von Treibern und Windows selbst Systeminformationen lesen. Die Anfragen werden von Providern bedient, und Provider laufen in einem oder mehreren WmiPrvSE.exe-Prozessen, weshalb der Task-Manager mehrere Zeilen WMI Provider Host gleichzeitig zeigen kann. Microsofts Leitfaden zu hoher WMI-CPU-Last sagt dasselbe: Die CPU-Last des Provider Hosts spiegelt die Abfragen der Clients wider, und es kommt darauf an herauszufinden, welcher Client und welcher Provider dahinterstecken.
| Was Sie sehen | Wahrscheinliche Ursache |
|---|---|
| Eine kurze Spitze bei der Anmeldung, dann Ruhe | Startprogramme und Windows lesen einmal das Inventar |
| Gleichmäßige Last alle paar Sekunden, den ganzen Tag | Ein Werkzeug, das WMI in einer Schleife abfragt: ein Monitor, ein Hersteller-Hilfsprogramm, ein Spiel-Overlay |
| Hohe CPU-Last nach der Installation einer App | Der Dienst dieser App oder ihr WMI-Provider |
| Mehrere Zeilen WMI Provider Host, eine ausgelastet | Ein Provider ist langsam; die anderen sind in Ordnung |
Das fragende Programm finden
Öffnen Sie die Ereignisanzeige (geben Sie eventvwr im Startmenü ein) und gehen Sie zu Anwendungs- und Dienstprotokolle › Microsoft › Windows › WMI-Activity › Operational. Fehler mit der Ereignis-ID 5858 nennen die fehlgeschlagene Abfrage und die ClientProcessId, die sie gesendet hat. Die Ereignis-ID 5857 hält fest, welcher Provider geladen wurde und die Prozess-ID des WmiPrvSE.exe, der ihn hostet.
Öffnen Sie dann den Task-Manager mit Ctrl + Shift + Esc, wechseln Sie zur Registerkarte Details und sortieren Sie nach PID. Ordnen Sie die ClientProcessId einem Namen zu und die PID des ausgelasteten WMI Provider Host dem Provider aus 5857. Ein Client, der innerhalb weniger Minuten in Hunderten von Ereignissen auftaucht, ist das Programm, um das Sie sich kümmern müssen.
Ist das Protokoll leer, hinterlässt eine korrekte Abfrage, die nur häufig kommt, keinen Fehler. Beenden Sie dann verdächtige Apps nacheinander, beginnend mit Hardware-Monitoren, RGB- und Lüfter-Werkzeugen, Update-Helfern von Herstellern und allem, was kurz vor Beginn des Problems installiert wurde, und beobachten Sie, ob sich der Provider Host binnen einer Minute beruhigt.
An der Quelle beheben
- Aktualisieren oder deinstallieren Sie die App, die abfragt. Viele Überwachungswerkzeuge haben eine Einstellung für das Aktualisierungsintervall; einmal pro Sekunde ist üblich und selten nötig.
- Gehört der ausgelastete Provider zur Software eines Hardwareherstellers, aktualisieren Sie diese Software oder ihr Treiberpaket; alte Versionen mancher dieser Programme sind für starke WMI-Nutzung bekannt.
- Starten Sie nach dem Entfernen der Ursache einmal neu. Die Provider-Host-Prozesse starten bei Bedarf wieder, es gibt also nichts von Hand aufzuräumen.
Was Sie nicht tun sollten
- Beenden Sie WMI Provider Host nicht wiederholt. Windows startet ihn in dem Moment neu, in dem die nächste Abfrage eintrifft, und das fragende Programm bekommt einen Fehler, den es womöglich noch heftiger wiederholt.
- Deaktivieren Sie nicht den Dienst Windows-Verwaltungsinstrumentation. Einstellungsseiten, Windows Update, Defender und die Werkzeuge vieler Treiber hängen davon ab.
- Setzen Sie das WMI-Repository nicht zurück und bauen Sie es nicht neu auf (
winmgmt /resetrepository), nur wegen hoher CPU-Last. Das ist eine Reparatur für ein beschädigtes Repository und kann Provider entfernen, die Apps registriert haben; Microsoft behandelt es als letzten Schritt für ein anderes Problem.
Wo Mole hilft
Auf der Seite Status zeigt Mole für Windows jede Zeile WMI Provider Host mit CPU, Speicher und E/A. Wenn Sie im Menü einer Zeile Warum läuft das? wählen, sehen Sie die Programmdatei in C:\Windows\System32\wbem und welcher Prozess ihn gestartet hat, und weil er aus dem Windows-Ordner läuft, bietet Mole dafür kein Beenden an. Mole ist selbst an zwei Stellen ein WMI-Client: Solange der Laptop lädt, fragt Status höchstens einmal pro Minute die Zeit bis zur vollen Ladung des Akkus ab, und Diagnose liest den Zustand der Datenträger, wenn Sie sie ausführen. Keines von beidem läuft in einer Schleife. Für andere ausgelastete Namen siehe Windows-Prozesse erklärt, für CPU allgemein Hohe CPU-Auslastung unter Windows.
Häufige Fragen
Ist WMI Provider Host ein Virus?
Das echte WmiPrvSE.exe liegt in C:\Windows\System32\wbem. Eine Datei mit diesem Namen an anderer Stelle sollten Sie mit Windows-Sicherheit prüfen.
Warum verursacht WMI Provider Host hohe CPU-Last?
Ein anderes Programm fragt WMI zu oft ab oder verlangt aufwendige Daten. Das Protokoll WMI-Activity Operational in der Ereignisanzeige nennt die Client-Prozess-ID hinter fehlschlagenden Abfragen.
Kann ich WMI Provider Host beenden oder deaktivieren?
Beenden hilft nur für Sekunden, weil Windows ihn bei der nächsten Abfrage neu startet. Den WMI-Dienst zu deaktivieren stört Einstellungen, Updates und die Werkzeuge von Treibern.
Warum gibt es mehrere WMI-Provider-Host-Prozesse?
Provider laufen in getrennten Hostprozessen, damit ein langsamer Provider die übrigen nicht aufhält. Meist ist nur einer davon ausgelastet.