htop ist der UI-Upgrade von top: ein interaktiver Prozess-Monitor mit farbigen Balken für CPU und Speicher, Tree-View für Eltern-Kind-Beziehungen, Maus-Support und einem konfigurierbaren Setup. Wo top mit kryptischen Tastenkürzeln und kompakter ASCII-Ausgabe arbeitet, präsentiert htop dieselben Informationen aufgeräumt, sortierbar und filterbar — ohne dabei die Tiefe zu verlieren.
Was htop macht
htop ist ein interaktiver Prozess-Monitor für das Terminal. Er liest dieselben Quellen wie top (im Wesentlichen /proc) und zeigt CPU-Last, Speicher, Swap, Load Average und Prozessliste — aber mit deutlich besserer UX: farbcodierte Balken pro CPU-Kern, ein scrollbares Prozessfenster, Markieren mehrerer Prozesse, Tree-View für Hierarchien und ein Setup-Dialog, der Spalten und Meter konfigurierbar macht.
Wer schon einmal in top einen Prozess killen wollte, weiß, dass das die PID-Eingabe samt Signal-Nummer erfordert. In htop markierst du den Prozess mit den Pfeiltasten, drückst F9 und wählst das Signal aus einem Menü. Das gleiche gilt für Sortieren, Filtern und Renicen — alles ist einen Tastendruck oder Mausklick entfernt.
htopInstallation
Anders als top ist htop auf den meisten Distributionen nicht vorinstalliert, lässt sich aber über jeden Paketmanager mit einem Einzeiler nachrüsten.
# Debian, Ubuntu, Mint
sudo apt install htop
# Fedora, RHEL, Rocky
sudo dnf install htop
# Arch, Manjaro
sudo pacman -S htop
# macOS
brew install htopAuf macOS lohnt sich der Hinweis, dass htop historisch ein Workaround für sudo brauchte, weil das System bestimmte Prozessdetails nur Root preisgibt. Aktuelle Versionen über Homebrew funktionieren in der Regel ohne Sonderbehandlung.
htop vs. top
htop ersetzt top nicht — es ergänzt es. Auf einem leeren Server ohne Internet ist top immer da, htop hingegen muss erst installiert werden. Die folgende Tabelle stellt die wichtigsten Unterschiede gegenüber.
| Aspekt | top | htop |
|---|---|---|
| Bedienung | Tasten-Kürzel, kryptisch | Funktions-Tasten, Menüs, Maus |
| Farben | Spärlich oder keine | Farbcodierte Balken und Spalten |
| Tree-View | Eingeschränkt (V) | Vollwertig mit t |
| Maus-Support | Nein | Ja, inkl. Funktionsleiste |
| Kill ohne PID-Eingabe | Nein, PID muss getippt werden | Ja, Markieren plus F9 |
| Live-Filter | Nein | Ja, \ filtert sofort |
| Setup-Persistenz | Über W in ~/.toprc | Über F2 in ~/.config/htop/htoprc |
| Memory-Footprint | Sehr klein | Etwas größer, aber unkritisch |
| Vorinstalliert | Praktisch immer | Selten |
top punktet vor allem durch Verfügbarkeit: auf einem Container, einer Embedded-Box oder einem fremden Server liegt es bereit, ohne dass man einen Paketmanager bemühen muss. Für die tägliche Arbeit auf der eigenen Workstation ist htop aber fast immer die bessere Wahl.
Tasten und Maus
Die wichtigsten Aktionen liegen auf den Funktionstasten F1 bis F10 — und sind unten in der Statusleiste sichtbar, sodass man sie auch per Maus klicken kann. Daneben gibt es ein paar Buchstaben-Shortcuts für häufige Aufgaben.
| Taste | Wirkung |
|---|---|
F1 | Hilfe-Übersicht |
F2 | Setup (Spalten, Meter, Farben) |
F3 | Suche im Command-Feld |
F4 | Filter (zeigt nur passende Prozesse) |
F5 | Tree-View umschalten |
F6 | Sortier-Spalte wählen |
F7 / F8 | Nice-Wert verringern bzw. erhöhen |
F9 | Signal an markierten Prozess senden |
F10 | Beenden |
/ | Schnellsuche im Command-Feld |
\ | Filter ein- und ausschalten |
t | Tree-View toggeln |
H | User-Threads ein- bzw. ausblenden |
K | Kernel-Threads ein- bzw. ausblenden |
u | Nach User filtern |
Space | Prozess markieren (für Multi-Aktion) |
Wer seine Hand an der Maus hat, kann die Funktionsleiste am unteren Rand direkt anklicken — ein Komfort, den top schlicht nicht bietet.
Setup (F2)
Das Herzstück der Anpassung ist der Setup-Dialog hinter F2. Vier Bereiche sind konfigurierbar: Meters im Kopfbereich (CPU-Bars, Memory, Swap, Load, Uptime, Hostname und mehr), Display Options für Verhalten und Highlights, Colors für das Farbschema und Columns für die Tabelle.
Besonders nützlich ist das Umschalten der CPU-Bar-Darstellung: statt eines Balkens pro Kern lässt sich ein Average-LoadGraph einblenden, der die Auslastung über die letzten Sekunden visualisiert. Auf vielen-Kernen-Systemen kann man die Cores in zwei Spalten aufteilen, sodass der Header kompakt bleibt. Alle Einstellungen werden in ~/.config/htop/htoprc als Plain-Text gespeichert und lassen sich versionieren oder zwischen Maschinen synchronisieren.
cp ~/.config/htop/htoprc ~/dotfiles/htoprcTree-View und Filter
Mit t schaltest du die hierarchische Anzeige ein: Prozesse werden unter ihren Parents eingerückt dargestellt. Damit erkennst du auf einen Blick, welcher Browser welche Renderer-Tabs gespawnt hat oder welche Shell welche Sub-Befehle laufen lässt.
Suche und Filter sind getrennt:
/startet eine Suche — die nächste passende Zeile wird hervorgehoben, der Rest bleibt sichtbar.\aktiviert einen Filter — nur passende Prozesse bleiben in der Liste, alles andere wird ausgeblendet.
Klassisches Beispiel: \firefox zeigt nur noch Firefox-Prozesse. Der Filter bleibt aktiv, bis du \ erneut drückst und das Eingabefeld leerst.
htop -u $USERPraxis-Patterns
Ein paar wiederkehrende Abläufe, die im Alltag den größten Hebel bringen.
htop -u $USERMit -u startet htop direkt mit dem Filter auf einen User. Praktisch auf Multi-User-Servern, wenn man nur die eigenen Jobs sehen will — ohne erst durch fremde Prozesse zu scrollen. Alternativ in laufender Sitzung: u drücken und User aus der Liste wählen.
# In htop: mit Pfeiltasten/Suche zu jedem Prozess gehen,
# Space drueckt eine Markierung. Dann F9 und Signal waehlen.Space markiert einen Prozess gelb, weitere Markierungen sammeln sich. F9 sendet das gewählte Signal (z. B. SIGTERM oder SIGKILL) an alle markierten Prozesse auf einmal — ideal, wenn ein verklemmter Build mehrere Worker hinterlassen hat.
# In htop: Taste `t` druecken, danach mit F6 sortieren waehlen.Im Tree-Mode siehst du sofort, welche Prozesse zusammengehören. Beim Debugging hilfreich, um zu erkennen, welche Shell ein Tool gestartet hat oder welche Daemon-Hierarchie hinter einem Service steckt. Sortieren funktioniert auch im Tree-Mode — dann wird innerhalb jeder Hierarchie-Ebene sortiert.
htop -p 12345Mit -p schränkt man die Anzeige auf eine oder mehrere PIDs ein. Praktisch, wenn man gezielt Speicher-Wachstum oder CPU-Verbrauch eines bestimmten Prozesses verfolgen möchte, ohne dass die übrige Liste ablenkt.
# In htop: F6 druecken, gewuenschte Spalte aus der Liste waehlen.F6 öffnet ein Menü mit allen sichtbaren Spalten als Sortier-Optionen. Standardmäßig sortiert htop nach CPU-Verbrauch — über F6 kann man schnell auf MEM%, TIME+ oder PID umschalten, je nachdem wonach man gerade sucht.
Besonderheiten
Mehr Komfort als top auch ohne sudo
Ein verbreiteter Irrtum: Maus, Filter und Setup von htop brauchen keine Root-Rechte. Was Root nötig macht, sind nur Aktionen wie das Renicen oder Killen fremder Prozesse — alles, was auch top ohne Privilegien nicht dürfte. Die UI-Vorteile bekommt jeder normale User frei Haus.
Memory-Bar zeigt Buffer/Cache anders
Die grüne Memory-Bar in htop stellt benutzten RAM dar, blau steht für Buffer, gelb für Cache. Was Linux als „benutzt” meldet, schließt Cache mit ein — der ist aber jederzeit für Anwendungen verfügbar. Wer hier blind nach „99 % belegt” schaut, fällt darauf herein. Im Zweifel free -h zur Kontrolle nehmen.
htop -p für Single-PID-Watch
Mit htop -p PID1,PID2 lässt sich die Anzeige auf eine Liste konkreter PIDs reduzieren. Nützlich für Monitoring eines Service-Verbunds: man bekommt CPU- und Memory-Verlauf nur dieser Prozesse — mit allen Komfort-Features wie Sortieren und Markieren.
F9 öffnet ein Signal-Menü
Wo kill per Default SIGTERM sendet, zeigt htop mit F9 ein Menü mit allen verfügbaren Signalen — von SIGHUP über SIGTERM bis SIGKILL. Das ist nicht nur bequemer, sondern erinnert auch daran, dass es zwischen „bitte beenden” und „sofort abschießen” Abstufungen gibt.
Refresh-Rate mit -d feintunen
Der Parameter -d setzt den Refresh-Intervall in Zehntelsekunden — nicht Sekunden. htop -d 10 bedeutet 1 Sekunde, htop -d 5 0,5 Sekunden. Für Echtzeit-Beobachtung kurzer Spikes ist das hilfreich, kostet aber spürbar mehr CPU für htop selbst.
Über SSH manchmal hakelig
Das ncurses-Frontend von htop verlässt sich auf eine korrekt gesetzte TERM-Variable. Auf manchen SSH-Verbindungen mit exotischem Terminal-Emulator springt das Layout, Farben fehlen oder Funktionstasten kommen nicht durch. TERM=xterm-256color htop löst die meisten dieser Fälle.
htop liest mehr als nur /proc
top schöpft seine Daten praktisch ausschließlich aus /proc. htop nutzt zusätzliche Quellen wie libnl für Netzwerk-Counter und plattformspezifische APIs auf macOS und FreeBSD. Deshalb können einzelne Werte minimal von top abweichen — kein Bug, sondern eine andere Datenquelle.
Weiterführende Ressourcen
Externe Quellen
- htop(1) – Manpage (man7.org) — Vollständige Optionsreferenz
- htop – Projektseite — Offizielle Webseite mit Screenshots und Downloads
- htop auf GitHub — Quellcode, Issues und Release-Notes
- Arch Wiki: htop — Konfiguration und Tipps
- Hisham Muhammad: htop explained — Ausführliche Tour durch alle Spalten und Meter
Verwandte Artikel
- top – klassischer Prozess-Monitor — Der Vorgänger, überall vorinstalliert
- btop – moderner Nachfolger — Noch mehr Grafik und Komfort
- ps – Prozess-Snapshot — Statt Live-Monitor: einmaliger Stand
- kill – Signale senden — Was hinter F9 passiert
- Signale — SIGTERM, SIGKILL und Co. im Überblick