htop ist ein interaktives, farbiges Überwachungsprogramm für laufende Prozesse: Es zeigt auf einem Bildschirm die Auslastung der Prozessorkerne und des Arbeitsspeichers, die durchschnittliche Auslastung sowie die laufenden Prozesse an. Über Tastenbefehle können Sie darin suchen, filtern, sortieren oder einen Prozess beenden. Dieser Artikel beschreibt die Installation auf AlmaLinux und erläutert die Verwendung des Programms. Einen kurzen Vergleich zwischen „top“ und „htop“ finden Sie im Artikel „Prozessüberwachung mit den Befehlen top und htop“.
Wir haben die Anleitung auf den Systemen AlmaLinux 10.2 und 9.8 getestet; die Screenshots stammen aus der Konsole einer virtuellen Maschine unter AlmaLinux 10.
Installation
htop ist nicht in den eigenen Repositories von AlmaLinux enthalten, kann jedoch aus dem EPEL-Repository installiert werden. Falls das EPEL-Repository noch nicht eingerichtet ist, aktivieren Sie es bitte zunächst (ausführliche Anleitung: Installation des EPEL-Repositorys unter AlmaLinux):
sudo dnf install epel-release
sudo dnf install htop
Überprüfung:
htop --version
Im Rahmen des Tests wurde auf beiden Systemen „htop 3.3.0“ installiert.
Start
htop
Als normaler Benutzer sehen Sie mit „htop“ zwar alle Prozesse, können jedoch nur Ihre eigenen Prozesse beenden oder deren Priorität ändern. Wenn Sie den Prozess eines anderen Benutzers (z. B. „apache“ oder „mysql“) verwalten müssen oder auch den Festplattenverkehr einsehen möchten, starten Sie den Befehl mit „sudo htop“.
Der obere Teil des Bildschirms
- 0, 1, 2…: Ein Balken pro Prozessorkern. Die Farben kennzeichnen die Art der genutzten Zeit: Grün steht für normale Anwenderprogramme, Rot für den Kernel und Blau für Prozesse mit niedriger Priorität (nice). In der detaillierten CPU-Ansicht (Detailed CPU time) unter F2 › Display options werden die Wartezeit auf die Festplatte sowie – bei VPS – die durch die Virtualisierung bedingte Wartezeit (Steal) ebenfalls mit einer eigenen Farbe dargestellt.
- Mem: Der Arbeitsspeicher. Der grüne Bereich entspricht dem tatsächlich von den Programmen genutzten Teil, die übrigen Farben (lila, blau, orange) kennzeichnen den gemeinsam genutzten Speicher, die Puffer und den Cache, die das System bei Bedarf freigibt. Die Zahl neben dem Balken (im obigen Bild „
602M/1.91G“) gibt den tatsächlich genutzten Arbeitsspeicher an. - Swp: der Swap. Wenn dieser ständig belegt ist, ist der Arbeitsspeicher knapp (siehe: Arbeitsspeicher erschöpft: OOM-Killer und Swap-Datei).
- Aufgaben: die Anzahl der Prozesse und Threads sowie die Anzahl der derzeit
runningen. - Lastdurchschnitt: der 1-, 5- und 15-minütige Lastdurchschnitt, siehe: Was bedeutet „Load“ unter Linux?
- Verfügbarkeit: Seit wann ist das System in Betrieb?
Die Spalten der Prozessliste
| Spalte | Bericht |
|---|---|
PID |
Prozess-ID |
USER |
Prozessverantwortlicher |
PRI, NI |
Priorität und Nice-Wert (ein negativer Nice-Wert bedeutet eine höhere Priorität) |
VIRT |
der belegte virtuelle Speicher; dieser kann irreführend groß sein |
RES |
Der tatsächlich genutzte physische Arbeitsspeicher – diesen Wert sollten Sie im Auge behalten |
SHR |
Der Teil des RES, der mit anderen Prozessen gemeinsam genutzt wird |
S |
Status: „R“ – läuft, „S“ – im Ruhezustand, „D“ – wartet auf Festplatte, „Z“ – Zombie |
CPU%, MEM% |
Prozessor- und Speicherauslastung; 100 % entsprechen einem vollständigen Kern |
TIME+ |
die bisher insgesamt genutzte Prozessorzeit |
Command |
Die vollständige Befehlszeile |
Die grün markierten Zeilen sind Threads eines Programms (auf dem Bild beispielsweise mehrere Zeilen des NetworkManagers). Diese können Sie mit der Taste „H“ ausblenden, sodass jedes Programm nur einmal angezeigt wird. Die eigenen Threads des Kernels werden mit der Taste „K“ umgeschaltet.
Die wichtigsten Tasten
Neben den Funktionstasten am unteren Bildschirmrand gibt es auch Ein-Buchstaben-Befehle:
| Taste | Was macht das Programm? |
|---|---|
F1 oder h |
Hilfe |
F2 oder S |
Einstellungen (Spalten, Leisten, Farben) |
F3 oder / |
Suche in der Befehlszeile; mit der Taste „F3“ springen Sie zum nächsten Treffer |
F4 oder \ |
Filter: Es bleiben nur die Prozesse übrig, die den angegebenen Text enthalten |
F5 oder t |
Übersicht |
F6 |
Auswahl der Sortierspalte |
P, M, T |
Sortierung nach Prozessor, Arbeitsspeicher bzw. Laufzeit |
u |
Die Prozesse eines Benutzers |
Szóköz |
Prozess auswählen (es können mehrere ausgewählt werden; die Vorgänge gelten für alle ausgewählten Prozesse) |
F7, F8 |
Erhöhung bzw. Verringerung der Priorität (nice); eine Erhöhung ist nur als Root möglich |
F9 oder k |
Eine Meldung senden, d. h. den Dienst beenden |
Tab |
Wechsel zwischen den Registerkarten „Main“ und „I/O“ |
q oder F10 |
Abmelden |
Welcher Prozess beansprucht den Arbeitsspeicher?
Drücken Sie die Taste „M“: Die Liste wird nach der Spalte „MEM%“ sortiert, wobei der Prozess mit dem höchsten Speicherverbrauch ganz oben steht. Zurück zur Sortierung nach Prozessor: „P“.
Nach einem Programm filtern
Geben Sie beispielsweise nach dem Drücken von F4 „php“ ein. Die Liste zeigt dann nur die PHP-FPM-Prozesse an, wobei sich die Angaben in der Kopfzeile weiterhin auf das gesamte System beziehen. Mit Esc wird der Filter gelöscht.
Übersicht
In der F5-Ansicht werden die untergeordneten Prozesse unter ihrem übergeordneten Prozess eingezogen angezeigt. So lässt sich beispielsweise erkennen, zu welchem Hauptprozess die PHP-FPM-Prozesse gehören oder welcher Dienst ein verdächtiges Skript gestartet hat.
Prozess beenden
Wählen Sie den Prozess mit den Pfeiltasten aus und drücken Sie anschließend die Taste „F9“. Auf der linken Seite wird eine Liste der Signale angezeigt, standardmäßig ist „15 SIGTERM“ ausgewählt. Mit der Taste „Enter“ wird das Signal gesendet.
SIGTERM(15) fordert das Programm zu einem ordnungsgemäßen Beenden auf. Beginnen Sie stets damit.SIGKILL(9) beendet den Prozess sofort, ohne Speicherung oder Bereinigung. Verwenden Sie diesen Befehl nur, wenn das Programm nicht aufSIGTERMreagiert.
Beenden Sie Systemdienste (Webserver, Datenbank, PHP-FPM) nicht über „htop“, da systemd diese je nach Konfiguration entweder neu startet oder in einem unvollständig beendeten Zustand belässt. Verwenden Sie hierfür den Befehl „systemctl“.
Die Registerkarte „I/O“
Die über die Tab-Taste aufrufbare Registerkarte „I/O“ zeigt pro Prozess die Lese- und Schreibvorgänge auf der Festplatte an (DISK READ, DISK WRITE). Diese Werte werden nur bei Verwendung von „sudo htop“ angezeigt; als normaler Benutzer wurde im Test in den Spalten „N/A“ angezeigt. Wenn der Server langsam ist und die Prozessorauslastung in der Kopfzeile gering erscheint, die durchschnittliche Auslastung jedoch hoch ist, sollten Sie hier nachsehen, welcher Prozess auf der Festplatte arbeitet.
Startschalter
htop -u apache # csak az apache felhasználó folyamatai
htop -p 1234,5678 # csak a megadott PID-ek
htop -t # fanézetben indul
htop -s PERCENT_MEM # memória szerint rendezve
htop -d 50 # frissítés 5 másodpercenként (tizedmásodpercben megadva)
htop --readonly # leállítás és átrangsorolás letiltva
htop -C # színek nélkül (--no-color), ha a terminál színei olvashatatlanok
htop -M # egér nélkül (--no-mouse)
Die Namen der sortierbaren Spalten werden mit dem Befehl „htop --sort-key=help“ aufgelistet. Der Schalter „--readonly“ ist nützlich, wenn ein Mitarbeiter lediglich beobachten möchte und nicht versehentlich etwas herunterfahren will.
Einstellungen speichern
Die im F2-Menü geänderten Einstellungen (angezeigte Spalten, Leisten, ausgeblendete Threads, Sortierung) speichert htop beim Beenden in der Datei ~/.config/htop/htoprc und liest sie beim nächsten Start von dort ein. Für den Root-Benutzer (sudo htop) gibt es eine separate Konfigurationsdatei im Verzeichnis /root/.config/htop/; daher müssen die Einstellungen dort erneut vorgenommen werden.
Aktualisierung und Deinstallation
Das über EPEL installierte htop wird zusammen mit dem System aktualisiert (sudo dnf upgrade). In EPEL ist nicht immer die aktuellste Version verfügbar: Die neuere Version, die auf der GitHub-Seite der Entwickler erscheint, kann aus dem Quellcode kompiliert werden, allerdings müssen Sie in diesem Fall die Aktualisierung selbst vornehmen; daher empfehlen wir auf Servern die Verwendung des EPEL-Pakets. Deinstallation:
sudo dnf remove htop
Die Einstellungen im Verzeichnis „~/.config/htop/“ bleiben dabei erhalten; sollten Sie diese nicht mehr benötigen, können Sie das Verzeichnis löschen.
Wann benötigen Sie einen leistungsstärkeren Server?
Wenn „htop“ eine anhaltend hohe Prozessorauslastung oder einen fast voll belegten Arbeitsspeicher anzeigt und diese Werte parallel zum Datenverkehr steigen, hat der Server seine Ressourcen überschritten. Sie können auch zwischen unseren KVM-VPS-Paketen wechseln; die einzelnen Schritte sind im Artikel „Wie kann ich die Ressourcen meines VPS-Pakets erweitern?“ beschrieben. Für eine längerfristige Überwachung benötigen Sie anstelle von „htop“ ein Tool, das Messwerte erfasst und Diagramme erstellt; darüber berichten wir in unserem Blogbeitrag zur Leistungsüberwachung von VPS.


