Was ist SVCHOST.exe – Windows Service Host?

1. Einführung

„svchost.exe“ erscheint im TASK-Manager von Windows auf der Registerkarte „Prozesse“ mehrmals mit einem Eintrag. Es handelt sich hierbei um eine systemeigene Datei von Windows.

Das Verzeichnis der Datei „svchost.exe“ ist „C:\Windows\System32“. Mit der Datei werden windowseigene Dienste ausgeführt, wie z.B. die Windows-Firewall.

Es handelt sich bei der  „svchost.exe“ um einen Host-Prozess. Dieser Prozess führt Windows-Dienste mit DLL-Dateien aus (DLL= Dynamic Link Library). „svchost.exe“ führt Dienste aus,  deren Quelcode in den zugehörigen DLL-Dateien gespeichert sind.

Jede Eintragung im Task-Manager der „svchost.exe“ steht für eine eigene Gruppe von Windows-Diensten, die Anzahl an Eintragungen hängt von der Anzahl der gestarteten Dienste ab. Dienste die als Gruppe eine gemeinsame „svchost.exe“ nutzen,  findet man in der Registry:

„HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\svchost“.

Achtung: Eine Entfernung der Datei „svchost.exe“ kann zu einer Gefährdung der Stabilität des Systems führen. Bei einem ungewöhnlichen Verhalten der „svchost.exe“ – hoche Auslastung der Systemressourcen z.B. – kann es sich um Malware oder einem fehlerhaften Programm handeln.

2. Troubleshooting – Fehlersuche

Es gibt mehrere Probleme, die auftauchen können, wie hohe CPU-Auslastung, „Memory leaks“ oder „Handle leaks“.

Für eine Fehlerdiagnostik wird die PID(Process Identifier) aus dem Taskmanager benötigt, damit dieser später für die Suche in der Konsole angewendet werden kann.

2. a)  Taskmanager starten

taskmanager svchost.exe
taskmanager svchost.exe

2. b) Anischt im Taskmanager auswählen und auf „Spalten auswählen“ klicken

taskmanager ansicht svchost.exe
taskmanager ansicht svchost.exe

2. c) PID (Prozess-ID) auswählen und mit „OK“ bestätigen.

taskmanager ansicht pid svchost.exe
taskmanager ansicht pid svchost.exe

2. d) Ansicht der Prozesse alphabetisch nach „Abbildname“ sortieren, um die aktiven „svchost.exe“ anzeigen zu lassen.

taskmanager sortiert nach PID svchost.exe
taskmanager sortiert nach PID svchost.exe

2. e) Nach dem die PIDs bekannt sind, wird in die Konsole ( Wichtig: mit Administrator-Rechten ausführen!) gewechselt und man lässt sich die „svchost.exe“ mit den PIDs anzeigen.

cmd als administrator ausführen svchost.exe
cmd als administrator ausführen svchost.exe

 

2. f) In der Konsole folgenden Befehl eingeben:

tasklist /svc /fi "imagename eq svchost.exe"
cmd befehl tasklist svchost.exe
cmd befehl tasklist svchost.exe

2. g) Nach dem die Liste der aktiven „svchost.exe“ erschienen ist, kann man den mit Hilfe der PIDs identifizieren, welcher Prozess die Fehler verursacht.

3. Remoteabruf

Man kann den Befehl tasklist auch für Remote benutzen, wenn ein Client z.B. beim Herunterfahren wegen der „svchost.exe“ nicht mehr runterfährt bzw. einfriert. Hierbei muss der Befehl tasklist mit /s XXX.XXX.XXX.XXX oder den Hostnamen erweitert werden.

4. Namensklau durch Malware

Teilweise wird die Namensgebung „svchost.exe“ von Malware missbraucht, dies bedeutet, dass ein regelmäßiges Nachschauen im Task-Manager wichtig ist. Ein Virenscanner mit aktueller Virendefinition ist daher Pflicht!
Folgende Namen tauchen bei Malware öfters auf: „svhost.exe“(hier fehlt das „c“) oder „svchosts.exe“(mit einem zusätzlichen „s“).

5. Quellen:

  1. http://windows.microsoft.com/de-de/windows/what-is-svchost-exe#1TC=windows-7
  2. http://blogs.technet.com/b/yongrhee/archive/2012/06/28/how-to-troubleshoot-service-host-svchost-exe-related-problems.aspx
  3. http://technet.microsoft.com/en-us/library/cc730909.aspx
  4. http://technet.microsoft.com/en-us/library/bb491010.aspx