Schweizer Taschenmesser für die Prozessverwaltung

Sysinternals: Der Windows Process Explorer im Detail

08.07.2010 von Martin Kuppinger und Moritz Jäger
Mit den Sysinternal-Tools liefert Microsoft eine Reihe von hilfreichen Utilities für Windows. Eines davon ist der Process Explorer, über den sich deutlich mehr Informationen zu laufenden Prozessen im System ermitteln lassen als mit dem Task-Manager.

Wenn man sich für Detailinformationen zu den laufenden Aktivitäten im System interessiert, reicht der Task-Manager oft nicht aus. Eines der interessantesten Tools in diesem Bereich ist der Process Explorer, den Microsoft als kostenloses Download im Rahmen der Sysinternal-Tools bereitstellt. Damit lassen sich sehr detaillierte Informationen zum Status des Systems ermitteln.

Detailliert: Der Process Explorer ermöglicht eine tiefgreifende Analyse der aktuellen Prozesse im System.

Diese Analyse setzt zwar ein gewisses Maß an Kenntnissen über die Intern des Systems voraus. Aber auch ohne Spezialist in den Tiefen von Windows zu sein, kann man sich damit doch eine Menge wichtiger Informationen holen.

Bildergalerie: Process Explorer
Process Explorer
Die neue Version zeigt an, welche Tabs des IE8 welche Website geöffnet haben.
Process Explorer
Die svchost-Prozesse werden nicht nur aufgelistet, es ist auch ersichtlich, welche Dienste sie jeweils gestartet haben.
Process Explorer
Die Einzelheiten zu den Prozessen.
Process Explorer
Detailliert: Der Process Explorer ermöglicht eine tiefgreifende Analyse der aktuellen Prozesse im System.
Process Explorer
Handles: Von einem Prozess aus kann man sich auch eine Liste der Handles anzeigen lassen.
Process Explorer
Details: Bei den Eigenschaften eines Prozesses kann man sich beispielsweise Performance-Informationen anzeigen lassen.
Process Explorer
TCP/IP: Die Details zur Kommunikation können ebenfalls angezeigt werden.
Process Explorer
Detailliert: Die Systeminformationen im Process Explorer sind viel detaillierter als im Task-Manager.

Die Startseite

Die Startseite des Process Explorer zeigt eine Liste voneinander abhängiger Prozesse an. Wenn Sie einen Prozess auswählen, erhalten Sie im unteren Bereich auch auf eine Liste der Handles, über die der Prozess verfügt. Handles verweisen auf Ressourcen, die von dem Prozess genutzt werden. Dabei kann es sich beispielsweise um Dateien oder Registry-Einträge handeln. Allerdings werden nicht alle Handles in lesbarer Form aufgelöst.

Handles: Von einem Prozess aus kann man sich auch eine Liste der Handles anzeigen lassen.

Die Prozesse selbst sind entsprechend ihrer Abhängigkeiten strukturiert. Das bedeutet, dass die meisten der Prozesse im Kontext eines Benutzers am Windows-Explorer hängen, weil sie aus dem Explorer heraus gestartet werden. In vielen Fällen sehen Sie sofort, welche Anwendungen von anderen Anwendungen im System aufgerufen werden.

Da standardmäßig die Prozesse aller Benutzer angezeigt werden, sind auch die Dienste im System sichtbar. Falls Sie die Menge an Informationen reduzieren wollen, schalten Sie über das Menü View beispielsweise die Anzeige der nicht benannten Handles und Abbildungen aus.

Die Eigenschaften von Prozessen

Durch einen Doppelklick oder über die Auswahl von Properties im Kontextmenü erhalten Sie die Eigenschaften eines Prozesses differenziert aufgelistet. Im Register Image finden sich Grundinformationen wie der Pfad und Dateiname der ausführbaren Datei zu dem Prozess, aber auch der übergeordnete Prozess, aus dem heraus der Start erfolgt ist.

Details: Bei den Eigenschaften eines Prozesses kann man sich beispielsweise Performance-Informationen anzeigen lassen.

Im Register Performance sehen Sie detaillierte Performance-Daten bis hin zu den Prozessorzyklen, die von dem Prozess bisher konsumiert wurden. Damit kann man vor allem auch im Vergleich zu anderen Prozessen sehr genau nachvollziehen, welche Ressourcen bisher konsumiert wurden.

Wenn Sie noch mehr ins Detail gehen wollen, finden Sie im Register Threads auch noch die verschiedenen Threads, die von dem Prozess genutzt werden - bis hin zu ihrer Startadresse innerhalb der Anwendung, von der aus die Threads initiiert wurden. Zu jedem Thread erhalten Sie im unteren Bereich wiederum Detailinformationen.

Noch mehr Details

Sie können aber noch tiefer graben. Das Register TCP/IP liefert Informationen zu dem von diesem Prozess genutzten Protokollen, Ports und den aktuellen Kommunikationsverbindungen.

TCP/IP: Die Details zur Kommunikation können ebenfalls angezeigt werden.

Damit können Sie beispielsweise das aktuelle Kommunikationsverhalten von Anwendungen ermitteln, aber auch potenzielle Lücken in der Sicherheit identifizieren. Das Register Security präsentiert Informationen über die Zugriffsberechtigungen auf den Prozess und die Systemprivilegien, die dem Prozess zugeordnet sind. Auch hier handelt es sich um sehr detaillierte Daten, die über die normalen Sicherheitseinstellungen hinaus gehen.

Über Environment erhalten Sie eine vollständige Auflistung der Umgebungsvariablen und über Strings eine Liste der auslesbaren Zeichenketten in der ausführbaren Datei, die von dem Prozess verwendet wird.

Prozessmanagement

Über reine Informationsgewinnung hinaus können Sie Prozesse aber auch steuern. Mit Set Affinity weisen Sie einen Prozess einem Prozessor oder Prozessorkern explizit zu. Mit Set Priority verändern Sie die Ausführungspriorität wie beim Task Manager.

Affinität: Prozesse können gezielt einzelnen Prozessoren beziehungsweise Prozessorkernen zugeordnet werden.

Prozesse und ganze Prozessketten lassen sich aber auch beenden, neu starten, unterbrechen oder debuggen. Der Process Explorer stellt hier eine Fülle von Optionen bereit.

Sobald Sie das Werkzeug aber nicht nur zur Informationsgewinnung nutzen, sondern Veränderungen vornehmen, sollten Sie genau wissen, was Sie tun. Das Risiko ist hoch, gravierende Fehler zu machen und das Systemverhalten negativ zu beeinflussen. Andererseits bietet der Process Explorer eine einfache Lösung, um beispielsweise das Zusammenspiel unterschiedlicher Prozesse auf stark belasteten Systemen zu optimieren - falls man genug über das System weiß.

Systeminformationen

Im oberen Bereich finden sich bei den Statusleisten auch drei kleine Fenster, die Systeminformationen andeuten. Nach Anklicken dieser Fenster oder den Aufruf von View - System Information erhalten Sie ein Fenster mit detaillierten Systeminformationen.

Detailliert: Die Systeminformationen im Process Explorer sind viel detaillierter als im Task-Manager.

So werden beispielsweise differenzierte Informationen zu den zugesicherten Seiten angezeigt, ebenso wie zu den ausgelagerten und nicht ausgelagerten Seiten im Kernel-Speicher.

Bei den Auslagerungsseiten finden sich Detailinformationen zur Priorität der ausgelagerten Seiten. Hier wird schnell deutlich, dass die Masse der ausgelagerten Seiten von Prozessen mit relativ niedriger Priorität ist.

Für diesen Bereich gilt, ähnlich wie für den Ressourcenmonitor des Task-Managers von Windows Vista, dass man sich sehr schnell einen Überblick über den aktuellen Status des Systems verschaffen kann. Allerdings benötigt man beim Process Explorer doch deutlich mehr Detailwissen über das Verhalten des Systems - wobei die wichtigsten Informationen wie das Verhältnis des aktuell zugesicherten Speichers zum Limit (Current/Limit) einfach verständlich sind. Je stärker sich der Wert den 100% annähert, desto weniger Speicher steht zur Verfügung und desto langsamer wird das System laufen.

Neue Funktionen in Process Explorer 12

Mittlerweile steht Version 12 des Process Explorers bereit, die einige praktische Neuerungen bringt. Zunächst einmal werden mit dieser Version offizielle Windows 7 in der 32- und 64-Bit-Ausführung unterstützt, außerdem hat Mark Russinovich zahlreiche Bugs bereinigt.

Information: Die aktuelle Version zeigt an, welche Dienste welchen Host-Prozess gestartet haben.

Doch auch neue Features haben Einzug gehalten. Der neue Process Explorer zeigt nun an, welche einzelnen Dienste sich hinter den jeweiligen gestarteten svchost-Prozessen verbergen. So erfahren Sie nicht nur, dass ein Dienst den Host-Prozess in Anspruch nimmt, sondern können genau sehen, welche Dienste welche svchost-Instanz aktiv nutzt. Die Informationen sind nicht nur als Tooltip zu sehen, wenn Sie mit der Maus über den einzelnen Prozess fahren, sondern auch in den erweiterten Eigenschaften enthalten. Klicken Sie auf den Reiter "Services" sehen Sie alle mit dem Prozess verknüpften Dienste auf einen Blick.

Auch zum Internet Explorer 8 liefert der Process Explorer nun mehr Informationen. Wie gehabt wird jeder Tab des aktuellen IE als einzelner Prozess angezeigt. Bewegt man die Maus über einen IE-Prozess, so zeigt ein Tooltip die im jeweiligen Tab aufgerufene Web-Seite an. Das hilft vor allem, wenn Sie abgestürzte Seiten oder Ressourcenfresser ausfindig machen wollen.

Für erfahrene Administratoren ist der Process Explorer aber in jedem Fall ein unverzichtbares Werkzeug, weil man sich damit schnell und detailliert einen Überblick über den Systemstatus verschaffen kann und es kaum Grenzen in Bezug auf die sichtbaren Informationen gibt. (cvi/mje)