+49-172-844 35 97

Opso-Consulting
Carsten Lohr
Pendlingstr. 8
83088 Kiefersfelden

Windows XP, Probleme mit 100% CPU Auslastung durch svchost

Eine meiner virtuellen Maschinen unter Windows XP hatte seit einigen Tagen massive Performanceprobleme.
Ein Blick in den Taskmanager zeigte, daß der Prozess svchost kontinuierlich zwischen 94 und 99% CPU Auslastung erzeugte.
Der Prozess svchost ist im Windowssystem für die Ausführung verschiedener Dienste verantwortlich.
Aus diesem Grund darf der svchost Prozess keinesfalls beendet werden, da ansonsten für das Betriebssystem lebensnotwendige Dienste nicht mehr zur Verfügung stehen würden.
Leider bietet der Windows Taskmanager keine Möglichkeit eine detaillierte Liste aller von svchost verwalteten Dienste anzuzeigen.
Abhilfe schafft hier das Programm „tasklist.exe“. „Tasklist.exe“ steht in Windows XP allerdings erst ab der „Professional“ Version zur Verfügung.
Eine detaillierte Beschreibung aller Parameter findet sich hier:

http://technet.microsoft.com/en-us/library/bb491010.aspx

Um „tasklist.exe“ zu verwenden muss zunächst ein Terminalfenster geöffnet werden.
(Start – Ausführen – cmd)
In diesem Fenster wird dann der folgende Befehl eingegeben:
tasklist.exe /svc /fi „imagename eq svchost.exe

Anschließend wird eine Liste aller svchost Instanzen ausgegeben die zu jeder Instanz die dazugehörigen Dienste anzeigt.
Öffnen Sie jetzt die Diensteverwaltung (Systemsteuerung -> Verwaltung -> Dienste)
Achtung, die Namen der Dienste in der Liste von „tasklist.exe“ entsprechen leider nicht den Namen die in der Diensteverwaltung angezeigt werden.
Um den in „tasklist.exe“ angezeigten Namen eines Dienstes zu ermitteln, muss der (vermutete) Dienst mit der rechten Maustaste angeklickt und anschließend im Kontextmenu auf „Eigenschaften“ geklickt werden.
Im sich dann öffnenden Fenster steht oben der (englische) Name des Dienstes der auch in der „tasklist.exe“ Auflistung angezeigt wird.

Mit diesen Informationen können jetzt einzelne Dienste abgeschaltet werden.
Aber Vorsicht, das Abschalten von Diensten ist nicht ganz ungefährlich und kann im schlimmsten Fall dazu führen, daß sich ein System nicht mehr starten lässt !
Um einen Dienst probeweise bis zum nächsten Systemstart abzuschalten, kann dieser im Eigenschaftsfenster angehalten werden. Achtung, auch das Anhalten von Diensten kann zu Datenverlust und evtl. zu einem nicht mehr funktionierendem System führen.
Um generell zu verhindern, daß ein Dienst beim Systemstart automatisch gestartet wird, muss dessen Startart von automatisch auf manuell gesetzt werden.

Aber wie gesagt, Vorsicht! Wer einfach beliebig Dienste beendet, ohne zu wissen welche Auswirkungen dies hat, kann sein System damit für immer unbrauchbar machen.

In meinem Fall war der Verursacher übrigens der Dienst wuauserv, „Automatische Updates“.
Das Stoppen dieses Dienstes führt dazu, daß Windows danach nicht mehr in der Lage ist, automatisch zu prüfen, ob Updates zur Verfügung stehen und diese automatisch durchzuführen.
Ab sofort prüfe ich deshalb nun alle paar Tage über die „Windows-Update“ Funktion, ob Updates zur Verfügung stehen und installiere diese dann manuell per Mausklick.