Microsoft SysInternals besser verstehen: Process Monitor

Die IT-Pioniere unter euch werden sicherlich noch die altbekannten Tools „RegMon“ und „FileMon“ aus der Microsoft SysInternals Suite kennen. Diese beiden tollen Tools waren die offiziellen Vorgänger des heute aktuellen Microsoft SysInternal Process Monitors, kurz ProcMon. Der Microsoft SysInternal Process Monitor vereint die Funktionalität von RegMon und FileMon und bietet darüber hinaus noch viele weitere Features. Die aktuelle Version bietet volle Unterstützung für Microsoft Windows 8.1 und Windows Server 2012 R2.

Was kann ich mit dem Microsoft SysInternals Process Monitor alles machen?

Eins vorweg: Im Grunde genommen ist es nicht möglich alle Funktionen des Microsoft SysInternals Process Monitors in einem einzigen Artikel bis ins letzte Detail zu beschreiben. Wir beschränken uns hier für den Anfang auf eine ausführliche Funktionsübersicht und zeigen dann in einem zweiten Teil, einem neuen Artikel, den Microsoft SysInternals Process Monitor im Einsatz.

Grundsätzlich erhaltet ihr also mit dem Process Monitor eine Auskunft zur Laufzeit über die Vorgänge im Dateisystem, der Registrierung sowie der Prozess-Aktivitäten. Konkret werden unter anderem folgende Funktionen angeboten:

Funktionsübersicht:

  • Überwachung des Startens und Beendens von Prozessen und Threads (mit Beendungsstatuscodes)
  • Überwachung von Abbildladevorgängen (DLL- und Kernelmodus-Gerätetreiber)
  • Erfassung umfangreicherer Daten für die Ein- und Ausgabeparameter von Vorgängen
  • Nichtdestruktive Filter zum Festlegen von Filtern ohne Datenverlust
  • Erfassung von Threadstapeln für jeden Vorgang, sodass die Hauptursache für einen Vorgang in vielen Fällen ersichtlich wird
  • Zuverlässige Erfassung von Prozessdetails, z. B. Abbildpfad, Befehlszeile, Benutzer, Sitzungs-ID
  • Konfigurierbare und verschiebbare Spalten für sämtliche Ereigniseigenschaften
  • Filter für alle Datenfelder festlegbar, auch für Felder, die nicht als Spalten konfiguriert sind
  • Erweiterte Protokollierungsarchitektur, auf viele Millionen von erfassten Ereignissen und mehrere Gigabyte an Protokolldaten skalierbar
  • Prozessstrukturtool zur Anzeige der Beziehungen aller Prozesse, die in einer Spur genannt werden
  • Systemeigenes Protokollformat und damit Beibehaltung aller Daten zum Laden in eine andere Process Monitor-Instanz
  • Process-QuickInfo zur unkomplizierten Anzeige von Informationen zu Prozessabbildern
  • Detail-QuickInfo für den komfortablen Zugriff auf formatierte Daten, die nicht in die Spalten passen
  • Abbrechbare Suche
  • Protokollierung aller Vorgänge zum Startzeitpunkt

(Quelle: http://technet.microsoft.com/de-de/sysinternals/bb896645.aspx)

 

Was heißt das nun konkret?

Der Process Monitor erfasst also bestimmte I/O- Operationen. Dabei ist es egal ob diese auf dem Dateisystem, in der Registrierung oder im Netzwerk passieren. Zusätzlich werden noch ein paar andere Events erfasst. Die folgende Liste zeigt welche:

Registrierung:

  • Erstellen von Registrierungsschlüsseln (create)
  • Lesen von Registrierungsschlüsseln (read)
  • Löschen von Registrierungsschlüsseln (delete)
  • Abfragen von Registrierungsschlüsseln (query)

Du wirst übrigens erstaunt sein wie oft so ein Reg query tatsächlich passiert.

Dateisystem:

  • Erstellen von Dateien
  • Schreiben von Dateien
  • Löschen von Dateien
  • Abfragen von Dateien
  • usw..

Das Ganze passiert für lokale Laufwerke sowie für Netzlaufwerke.

Network:

  • Anzeigen von Sender und Empfänger des TCP/IP-Traffic
  • Anzeigen Sender umd Empfänger des UDP-Traffic

Es werden allerdings keine Daten angezeigt. Um das auch noch zu erfassen, müssten wir noch härtere Geschütze auffahren.

Prozesse:

Anzeigen von Events für Prozesse und Threads. Zum Beispiel, ob diese gestartet werden oder existieren oder ähnliches. Alles in allem bietet das einen ersten nützlichen Hinweis. Ihr solltet aber hierfür ebenfalls den Process Explorer der Microsoft SysInternals Suite verwenden. Der beschäftigt sich ja speziell mit dem Thema.

Profiling:

Diese Events werden erfasst, um die Prozessorzeiten, die von jedem Prozess benötigt werden, anzuzeigen. Zusätzlich bekommt ihr hier auch Informationen über Speichernutzung der Prozesse. Hier gilt aber wieder: In bestimmte Situationen kann das nützlich sein. Eigentlich ist hierfür aber Process Monitor das Tool eurer Wahl.

Zusammenfassend kann man sagen, dass aufgezeichnet wird, was gerade passiert. Also das eine I/O-Operation gestartet gewurde und von welchem Typ diese I/O-Operation ist (Read, Write, Query, etc). Den konkreten Dateninhalt der Aktion sehen wir aber nicht. Das müssten wir auf einem anderen Wege herausfinden.

 

Was ist der Microsoft SysInternals Process Monitor nicht?

Der Process Monitor zeichnet Tonnen von Daten bzw. Events auf. Natürlich hat das aber auch seine Grenzen. Der Process Monitor zeichnet zum Beispiel nicht auf, ob..

  • ..sich die Maus bewegt und umher kreist.
  • ..Treiber auf deinem System optimal funktionieren.
  • ..Prozesse auf deinem System laufen und CPU-Zeit verschwenden wird. (Das macht übrigens der Process Explorer)

Das war es auch schon für den ersten Teil. Eine Menge theoretischer Infos, die einen guten Überblick liefern sollten. Im zweiten Teil beschäftigen wir uns mit dem Einsatz des Process Monitor in der Praxis.

Print Friendly, PDF & Email
3 Kommentare

Trackbacks & Pingbacks

  1. […] wir uns intensiver mit dem Process Monitor von Microsoft befasst. Wir haben die Möglichkeiten des Microsoft SysInternals Process Monitor kennengelernt und uns die Bedienung im Einsatz angeguckt. Heute machen wir den nächsten Schritt […]

  2. […] ersten Teil haben wir uns mit dem Funktionsumfang des Microsoft SysInternals Process Monitors beschäftigt. Jetzt folgt ohne viel Geschwafel der […]

  3. […] Los geht es mit dem Microsoft SysInternals Process Monitor! […]

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.