Jump to content
Sign in to follow this  
Kai Ahnung

Hohe CPU Auslastung durch Wmiprvse

Recommended Posts

Hallo zusammen,

 

seit einigen Wochen generiert der wmiprvse.exe Prozess auf meinem W7 (64bit Ultimate, aktueller Stand) eine konstante CPU-Auslastung von ca. 50% auf allen CPUs. Wann es genau angefangen hat kann ich nicht sagen. Im Internet und auch hier auf dem Board finden sich unzählige ähnliche Fälle, aber eine Lösung ist mir bisher nicht begegnet.

 

Im Moment behelfe ich mir damit dass ich die Windows Management Instrumentation über folgendes Batchfile neu starte, danach ist alles wieder im grünen Bereich.

 

net stop winmgmt /y
net start winmgmt
net start iphlpsvc
net start wscsvc

 

Das ist aber irgendwie unbefriedigend und ich hätte gerne eine bessere Lösung dafür. Hat jemand eine Idee?

 

Danke schon mal.

Share this post


Link to post

Starte den Taskmanager > Reiter Leistung > Ressourcenmonitor > Reiter Übersicht > sind die Systemunterbrechungen mit hoher CPU-Last geführt?

Share this post


Link to post

Hi Sunny,

 

ich versteh ehrlich gesagt nicht genau was du meinst.

 

Der Wmiprvse Prozess ist dort schon aufgeführt, er ist der Top-Auslastungsprozess dort :-)

Share this post


Link to post

ich versteh ehrlich gesagt nicht genau was du meinst.

 

Macht nichts. ;)

 

Der Wmiprvse Prozess ist dort schon aufgeführt, er ist der Top-Auslastungsprozess dort :-)

 

OK, hätte sein können dass dort was anderes zu lesen war.

Share this post


Link to post

Hi,

 

deinstalliere testweise einmal den Virenscanner und prüfe, ob das Problem weiterhin auftritt.

 

Falls ja, aktiviere einmal das WBEM Logging ( Logging WMI Activity (Windows) ) oder schaue mit dem Process Explorer und Process Monitor, was unterhalb der WMI Threads so abläuft, welchen Stack die Threads enthalten etc.

 

Viele Grüße

olc

Share this post


Link to post

Hallo Olc,

 

Virenscanner deinstallieren und neu installieren hat nichts gebracht.

 

Im WMI Ereignisprotokoll steht nichts drin.

 

Wenn ich mir den fraglichen Wmiprvse.exe mit dem Process Explorer anschaue fällt mir auf dass der Prozess ständig 3 Threads erstellt und gleich wieder löscht:

 

CorperfmonExt.dll

perfdisk.dll

rasctrs.dll

 

Außerdem wird auch ein "WmiApSrv.exe" Prozess ununterbrochen erstellt und wieder gelöscht.

 

Nach dem Neustart des WMI-Dienstes mit dem Script gibt es keinen Wmiprvse Prozess mehr und auch der WmiApSrv ist weg. Die Ursache für dieses Fehlverhalten ist aber immer noch ein Rätsel...

Share this post


Link to post

Hi,

 

den Virenscanner solltest Du nicht gleich wieder neu installieren, sondern deinstalliert lassen. ;)

 

Meine anderen Hinweise hast Du nicht weiter verfolgt? Neue Vorschläge machen dann kaum Sinn. ;)

 

Viele Grüße

olc

Share this post


Link to post

Hi,

 

natürlich hab ich den Virenscanner nicht gleich wieder installiert, sondern alles ohne ihn getestet. Kein Unterschied!

 

Logging ist aktiviert, sagt mir aber absolut nichts. Welche anderen Hinweise meinst du denn? Soweit ich sehen kann hab ich keinen deiner Vorschläge ausgelassen :confused:

 

Kai

Share this post


Link to post

Hi,

 

mit WMI Ereignisprotokoll meinst Du das WBEM Logging? Da muß etwas drin stehen, denn auch erfolgreiche Informationen werden geloggt. Gibt es vielleicht einen Unterschied im Log vor und nach Neustart des Dienstes?

 

Wie sieht es mit dem Stack des Prozesses aus (ProcMon oder der ProcExp gibt Dir die Stack Info) --> welche Komponenten hängen denn im Stack drin? Kann man vielleicht ein Muster vor und nach dem Neustart des Dienstes erkennen?

 

Gibt es Child-Prozesse unterhalb des WMIprvse Prozesses?

 

Läuft auf dem System irgend eine Performance-Analyse bzw. eine entsprechende Überwachungslösung? SCCM oder ähnliche Tools?

 

Du kannst ggf. auch über MSCONFIG alle nicht-Microsoft Dienste deaktivieren und das System neu starten - tritt das Problem dann immer noch auf?

 

Viele Grüße

olc

Share this post


Link to post

Hi Olc,

 

danke dass du dir nochmal die Mühe gemacht hast alles aufzuzählen!

 

In den WBEM Logs steht schon was drin. Die Wmiprov.log bekommt nach dem Hochfahren jede Menge Einträge. Etwa einmal pro Sekunde das hier:

(Fri Aug 20 12:19:59 2010.977049) : No longer registered for Mof events
(Fri Aug 20 12:19:59 2010.977049) : Instance Provider destructed
(Fri Aug 20 12:19:59 2010.977517) : Instance Provider constructed
(Fri Aug 20 12:19:59 2010.977517) : Successfully Registered for Mof Events
(Fri Aug 20 12:19:59 2010.977517) : WDM call returned error: 4200
(Fri Aug 20 12:19:59 2010.977517) : WDM call returned error: 4200
(Fri Aug 20 12:19:59 2010.977517) : WDM call returned error: 4200
(Fri Aug 20 12:19:59 2010.977517) : WDM call returned error: 4200
(Fri Aug 20 12:19:59 2010.977533) : WDM call returned error: 4200
(Fri Aug 20 12:19:59 2010.977533) : WDM call returned error: 4200
(Fri Aug 20 12:19:59 2010.977533) : WDM call returned error: 4200
(Fri Aug 20 12:19:59 2010.977533) : WDM call returned error: 4200
(Fri Aug 20 12:19:59 2010.977533) : WDM call returned error: 4200
(Fri Aug 20 12:19:59 2010.977549) : WDM call returned error: 4200

 

Nach dem Neustart des WMi Dienstes werden einige Meldungen über fehlerhafte Pointer und die Löschung alter Treiberklassen ausgegeben und dann passiert nichts mehr im Protokoll.

 

Der Proxess Monitor loggt unglaublich viele Zugriffe auf Dateien- und Registry keys durch den Wmiprvse Prozess.

 

Der Stack des Dienstes sieht so aus:

ntoskrnl.exe!SeAccessCheckWithHint+0xb4a
ntoskrnl.exe!KeAcquireSpinLockAtDpcLevel+0x7d2
ntoskrnl.exe!KeWaitForMutexObject+0x19f
ntoskrnl.exe!PsIsSystemProcess+0x94
ntoskrnl.exe!KeStackAttachProcess+0x11c1
ntoskrnl.exe!KeAcquireSpinLockAtDpcLevel+0x9dd
ntoskrnl.exe!KeWaitForMutexObject+0x19f
win32k.sys!memset+0x7a47
win32k.sys!memset+0x7ae1
win32k.sys!memset+0x610c
win32k.sys!memset+0x6211
win32k.sys!memset+0x7c15
ntoskrnl.exe!KeSynchronizeExecution+0x3a43
wow64win.dll+0x3fc2a
wow64win.dll+0x1ac48
wow64.dll!Wow64SystemServiceEx+0xd7
wow64cpu.dll!TurboDispatchJumpAddressEnd+0x24
wow64.dll!Wow64SystemServiceEx+0x1ce
wow64.dll!Wow64LdrpInitialize+0x429
ntdll.dll!RtlResetRtlTranslations+0x1b08
ntdll.dll!RtlResetRtlTranslations+0xc63
ntdll.dll!LdrInitializeThunk+0xe
USER32.dll!DispatchMessageW+0x5c
wmiprvse.exe+0x39ff
wmiprvse.exe+0x72ee
wmiprvse.exe+0x74b5
wmiprvse.exe+0x7445
ntdll.dll!RtlInitializeExceptionChain+0x63
ntdll.dll!RtlInitializeExceptionChain+0x36

Nach dem Neustart gibt es im Process Explorer diesen Prozess nicht mehr und auch im Process Monitor tauch er nicht mehr auf.

 

Hier noch die Antwort auf deine anderen Fragen:

- Der WMIPrvSe Prozess hat keine Unterprozesse.

- Es läuft weder eine Performance Analyse, noch irgend eine Überwachung.

- Auch nach dem beenden aller nicht-MS Dienste tritt das Problem auf.

 

Inzwischen habe ich auch das komplette WMI Repository mit winmgmt /resetrepository zurückgesetzt. Kein Erfolg.

 

Sieht so aus als wäre es ein nicht behebbarer Windows Bug und ich muss wohl mit meiner Notlösung leben :-(

 

Kai

Share this post


Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...