Windows: Prozesse ganz genau überwachen
Wenn Ihr alles über einen laufenden Prozess und seinen Ressourcenverbrauch erfahren wollt - Process Monitor!
Unter Windows laufen oft Dutzende von Prozessen gleichzeitig - und verbrauchen Ressourcen, schreiben auf und lesen von Festplatten, funken irgendwas ins Netzwerk, starten weitere Prozesse und Module ... Wenn Ihr ganz genau wissen wollt, welche Prozesse was tun, geht das wunderbar mit dem Sysinternals-Werkzeug Process Monitor, kurz procmon.
Sysinternals Process Monitor
Den Process Monitor bekommt Ihr direkt von Micrososft als portable Datei, sprich es muss nichts installiert werden. Im Gegensatz zum Task-Manager von Windows selbst oder dem Process Explorer, ebenfalls von Sysinternals, zeigt das Monitoring-Tool nicht einfach den aktuellen Zustand, sondern zeichnet die Aktivitäten der Prozesse auf.
So könnt Ihr beispielsweise herausfinden, welche Prozesse im Laufe der Zeit besonders verschwenderisch sind, oder andersrum einzelne Prozesse oder Prozessgruppen gezielt überwachen. Die Vorgehensweise ist im Grunde simpel: Filter setzen, um nur die gewünschten Daten zu sehen, Aufzeichnen der Aktivitäten (einfach durch Nutzung) und letztlich Auswertung der gesammelten Daten. Für die Auswertung gibt es einige nützliche Tools, etwa Zusammenfassungen diverser Aktivitäten.
Eines liefert Process Monitor aber nicht, oder selten: Lösungen! Das Tool liefert lediglich die Daten, um deren Bedeutung müsst Ihr Euch selbst kümmern, also die nächstbeste Websuche bemühen oder gleich bei Stack Overflow nachschauen (was übrigens auch direkt aus Notepad++ geht ;) )
Und jetzt seht Ihr Schritt für Schritt, wie Ihr einen Prozess überwachen und auswerten könnt.
1. Filter setzen
Nach dem Download könnt Ihr Process Monitor direkt über die Datei procmon.exe starten. Das Programm beginnt mit dem Filter-Dialog, aber aktiviert beim ersten Start zunächst die erweiterte Ausgabe im Hauptfenster unter Filter/Enable Advanced Output.
Wieder im Filter-Dialog: Hier könnt Ihr nach Herzenslust filtern, hier zum Beispiel nach Prozessname beinhaltet firefox.
Fügt den Filter dann über Add hinzu und deaktiviert gegebenenfalls andere Filter.
2. Prozesse aufzeichnen
Die Aufzeichnung beginnt automatisch, sobald Ihr den Filter bestätigt habt, zu erkennen an und zu stoppen mit dem Aufzeichnen-Symbol oben links. Nutzt nun die gefilterten Prozesse ein paar Minuten und beendet dann die Aufzeichnung.
3. Prozesse auswerten
Nun folgt die eigentliche Arbeit. Ihr habt nun eine Liste mit Aktivitäten. Ihr könnt einzelne Einträge doppelklicken, um Detailinformationen zu bekommen. Hier seht Ihr zum Beispiel alle Module, die von dem Prozess geladen wurden, also etwa eine Reihe von DLL-Dateien (DLLs sind Direct Link Libraries, Bibliotheken, die Funktionen bereitstellen, die dann von unterschiedlichsten Prozessen/Programmen genutzt werden können).
Über das Tools-Menü findet Ihr auch den Process Tree: Hier bekommt Ihr den Prozess samt Unterprozessen hübsch als Baum aufgedröselt und könnt per Kontextmenü wiederum direkt zu den zugehörigen Aktivitäten im Hauptfenster springen.
Besonders praktisch, auch aus dem Tools-Menü: Zusammenfassungen wie der Process Activity Summary, der den Ressourcenverbrauch in Graphen aufarbeitet. Wie Ihr seht, ist das alles bei Browsern recht mühselig, seit sie für jeden Tab einen eigenen Prozess führen - aber es macht halt hübschere Screenshots.
Es gibt noch weitere Möglichkeiten zum Filtern, weitere Informationen und kleine Helferlein, um der Datenflut Herr zu werden. Und ja, diese schiere Menge an Daten ist erschlagend und anfangs überfordernd, die Recherche artet schnell in Arbeit aus. Hier im Hintergrund wurden während der letzten 14 Minuten über 4,36 Millionen Aktivitäten aufgezeichnet ;) Wie gesagt, Lösungen präsentiert Process Monitor nicht unbedingt. Aber hey, das Thema könnte viel schlimmer behandelt werden ...