TaskExplorer: einen Windows-Rechner als Prozessbaum lesen statt als Liste

Zusammenfassung

TaskExplorer ist ein quelloffener Prozessmanager für Windows: ein Prozessbaum mit Live-Werten zu CPU, Speicher, Datenträger und Netzwerk, Thread-Stapel, Handles, Speichereinblick und optionalem Scan mit mehreren Engines.

Empfehlen
Name
Task Explorer
Version
1.6.4
Preis
Kostenlos
Open Source
Open Source
Aktualisiert
2026-10-06 20:24

Eine Prozessliste beantwortet die falsche Frage

TaskExplorer ist ein quelloffener Prozessmanager für Windows, geschrieben von DavidXanatos, und seine zentrale Designentscheidung ist klein mit großen Folgen: Prozesse werden als Baum gezeigt, nicht als flache Liste. Eine flache Liste ist eine Volkszählung. Sie sagt, dass zweihundertvierzig Dinge laufen und welches die meiste Prozessorzeit nimmt, und sie beantwortet keine der Fragen, die Menschen tatsächlich stellen, wenn eine Maschine sich falsch verhält.

Der Baum beantwortet eine andere: wer wen gestartet hat. Diese Beziehung ist der Anfang fast jeder Diagnose. Eine Anwendung, die langsam ist, weil ein Hilfsprozess immer neu startet, ein Diensthost, der stillschweigend ein Dutzend Instanzen angesammelt hat — nichts davon fällt in einer sortierten Liste auf, und alles davon ist offensichtlich, sobald die Hierarchie sichtbar ist.

Prozessbaum

Vier Zahlen und was jede davon wirklich misst

Live-Werte für Prozessor, Speicher, Datenträger und Netzwerk werden pro Prozess angezeigt, und die nützliche Fähigkeit ist zu wissen, welche davon in welche Richtung lügt. Prozessorauslastung ist eine Rate, keine Summe: ein Prozess bei neunzig Prozent für eine Sekunde und einer bei neun Prozent für zehn Sekunden haben dieselbe Arbeit getan, und nur die angesammelte Prozessorzeit unterscheidet sie. Ein Prozess, der untätig wirkt, aber enorme Gesamtzeit hat, ist nicht untätig; er ist fertig.

Speicher ist das unschärfste Wort der Gruppe. Was ein Programm vom System angefordert hat, was das System tatsächlich zugesagt hat und was gerade im physischen Speicher residiert, sind drei verschiedene Zahlen, und sie können sich für denselben Prozess um eine Größenordnung unterscheiden. Die praktische Folge: Die größte Zahl in einer Speicherspalte ist oft nicht das Problem; interessanter ist die Form, bei der die zugesagte Menge stetig steigt, während die residente Größe flach bleibt — so sieht ein Leck von außen aus.

Datenträger und Netzwerk vervollständigen das Bild, und sie zählen, weil auch der neueste und schnellste Speicher pro Sekunde nur eine begrenzte Zahl von Operationen schafft. Eine Maschine, die sich zäh anfühlt, während der Prozessor bei zehn Prozent steht, wartet meist auf einen Datenträger, und I/O pro Prozess ist das, was aus diesem Verdacht einen Namen macht.

Leistungsdiagramme

Threads und Stapel: der Unterschied zwischen beschäftigt und festgefahren

Die Thread-Stapelansicht ist die Funktion, die ein Überwachungswerkzeug von einem Diagnosewerkzeug trennt. Ein einzelner Prozess kann Dutzende Threads enthalten, und ein Prozess bei null Prozent Auslastung kann trotzdem etwas tun — oder ewig warten. Ein Stapel sagt, was zutrifft: Er ist die Liste dessen, worin dieser Thread gerade steckt, und ihn zu lesen ist, wie man einen Hänger von Untätigkeit unterscheidet.

Zwei Muster lohnen das Erkennen. Ein Deadlock sieht aus wie zwei oder mehr Threads, die jeweils auf etwas warten, das der andere hält, und er ist in jeder Sammelzahl unsichtbar, weil nichts etwas verbraucht. Ein Engpass sieht aus wie viele Threads, die sich an derselben Stelle stauen, meist eine Sperre oder ein einthreadiger Abschnitt, den alle brauchen. Beides sind keine Leistungsprobleme in dem Sinn, in dem ein Diagramm sie zeigt; beides ist strukturell, und beides wird erst sichtbar, wenn man sieht, wo die Threads stehen.

Verlaufsdiagramme gehören zum selben Gedanken in der Zeitdimension. Eine Zahl in diesem Augenblick erklärt wenig; die Form der letzten Minuten erklärt viel, weil die meisten Probleme auf einem Desktop keine Dauerzustände sind, sondern Ereignisse — eine Spitze, wenn eine Datei indiziert wird, eine Sägezahnkurve, wenn ein Hintergrundjob es erneut versucht, ein Plateau, das genau beginnt, als der Lüfter ansprang.

Thread-Stapel

Handles sind der Ort, an dem Lecks wirklich wohnen

Zu sehen, welche Dateien, Registrierungsschlüssel und Netzwerkverbindungen ein Prozess offen hält, ist der am meisten unterschätzte Teil des Werkzeugs. Speicherlecks sind die berühmte Art, aber auf einem modernen System ist der häufigere Fehler ein Handle-Leck: Ein Programm öffnet eine Datei, einen Schlüssel oder einen Socket und schließt ihn nie, und nach einigen Tagen kann es überhaupt nichts mehr öffnen.

Die Liste macht das Leck sichtbar und, wichtiger, benennbar. Wenn ein Prozess vierhundert Verbindungen zu einem Server hält, mit dem er einmal sprechen sollte, ist die Frage von warum ist dieser Rechner langsam zu warum öffnet dieses Programm Verbindungen, die es nie schließt verengt. Das ist der ganze Wert der Funktion: Sie verwandelt eine vage Beschwerde in einen konkreten Defekt mit einem Besitzer.

Offene Handles

Speichereinblick und die ehrlichen Einschränkungen

Den Speicher eines anderen Prozesses anzusehen und zu bearbeiten ist eine Debug- und Reverse-Engineering-Fähigkeit, und es lohnt, präzise zu sagen, wofür sie da ist. Sie ist dazu da, zu verstehen, was ein Programm in einem Moment hält — eine Datenstruktur, einen dekodierten Puffer, eine Zeichenkette, die dort nicht sein sollte. Sie ersetzt keinen Debugger mit Symbolen, und laufenden Speicher zu ändern, um Verhalten zu ändern, ist eine Technik mit sehr kurzer Halbwertszeit: Der nächste Build verschiebt alles.

Die wichtigere Einschränkung ist verfahrenstechnisch. Ein Werkzeug, das den Speicher jedes Prozesses lesen kann, kann alles lesen, auch Anmeldedaten, die zufällig resident sind, und ein Werkzeug, das jeden Prozess beenden oder anhalten kann, kann einen anhalten, auf dem das Betriebssystem beruht. Keine der beiden Fähigkeiten ist an sich gefährlich; beide sind in der Hand von jemandem gefährlich, der nicht überlegt hat, was als Nächstes passiert. Einen Prozess anzuhalten ist keine Pausetaste für ein Programm — es friert alles ein, was dieser Prozess hielt, und etwas anderes wartet vielleicht darauf.

Der Scan mit vielen Engines und was er nicht verspricht

Einen verdächtigen Prozess an einen Onlinedienst zu geben, der ihn durch viele Virenengines laufen lässt, ist wirklich nützlich, und das Wort, auf das man achten sollte, ist verdächtig. Der Scan ist eine zweite Meinung zu einer Datei, kein Urteil über eine Maschine. Ein sauberes Ergebnis heißt, dass vierzig Engines mit ihren Signaturen von diesem Moment nichts fanden; es heißt nicht, dass die Datei sicher ist, und gewiss nicht, dass der Prozess sich wohlerzogen verhält. Ein Treffer ist stärkerer Beweis, aber eine einzelne Engine, die ein kleines Hilfsprogramm anzeigt, ist ein häufiger Fehlalarm.

Die andere Hälfte des Satzes ist Privatsphäre. Eine Datei einzusenden heißt, dass eine Kopie die Maschine verlässt und bei einem Dritten ankommt, und dass dies normal ist, macht es nicht klein. Zu wissen, ob ein Hash oder die ganze Datei geht, und vorher zu überlegen, wenn es um ein Dokument statt um ein Programm geht, ist der Unterschied zwischen die Funktion nutzen und von ihr benutzt werden.

Diagramme

Portabel, anpassbar, mehrere Fenster

Drei kleine Entscheidungen schließen das Bild. Das Programm ist portabel, was gerade dort zählt, wo es am nützlichsten ist: auf einer Maschine, die nicht die eigene ist, wo das Installieren von Software entweder verboten ist oder genau das, was man vermeiden will. Spalten lassen sich umordnen und die Sortierung ändern, was nach Vorliebe klingt und tatsächlich der Weg ist, auf dem ein erfahrener Nutzer aus einer Allzwecktabelle die eine Ansicht macht, die seine Frage beantwortet. Und mehrere Fenster bedeuten, dass zwei Prozesse nebeneinander beobachtet werden können, was zum Vergleichen nötig ist.

Hauptfenster

Wohin es passt

Das ist ein Diagnosewerkzeug, kein Reiniger und keine Beschleunigung. Es macht einen Rechner nicht schneller, und man sollte es nicht benutzen, um Prozesse auf gut Glück zu beenden in der Hoffnung, dass etwas besser wird — ein beendeter Prozess ist ein Prozess, der von seinem Eigentümer neu gestartet wird, meist innerhalb von Sekunden. Es beantwortet die Frage, was eigentlich passiert, detailliert genug, um zu handeln. Für einen Entwickler, der einem Hänger nachgeht, eine Administratorin, die herausfinden will, wer eine Datei offen hält, oder jeden, der verstehen will, warum eine Maschine mit reichlich freiem Speicher nicht reagiert, ist das die ganze Aufgabe.