Htop: Unterschied zwischen den Versionen
| Zeile 51: | Zeile 51: | ||
=== Tastenkombinationen === | === Tastenkombinationen === | ||
{|| class="wikitable sortable" | {|| class="wikitable sortable options big" | ||
|- | |- | ||
|| Taste(n) | || Taste(n) | ||
| Zeile 138: | Zeile 138: | ||
|- | |- | ||
|} | |} | ||
=== Problembehebung === | === Problembehebung === | ||
Version vom 13. November 2025, 11:50 Uhr
hop - Dynamische Übersicht laufender Prozesse und belegter Systemressourcen
Beschreibung
htop zeigt eine dynamische Übersicht der laufenden Prozesse (siehe auch ps) sowie der belegten Systemressourcen an.
- Gegenüber dem Klassiker top bietet dieser Prozessmanager jedoch einige Komfortfunktionen.
So hat das Programm eine ncurses-Oberfläche und kann einfach mit der Tastatur bedient werden, ohne lange Befehle eintippen zu müssen.
- Wird htop in einem Terminal innerhalb einer Desktopumgebung gestartet, kann auch die Maus benutzt werden.
- Möchte man die Maus in einem virtuellen Terminal nutzen, muss gpm installiert werden.
Außerdem bietet das Programm eine frei konfigurierbare Leiste im oberen Teil der Anzeige.
- Dort können Graphen für die Systemressourcen und verschiedene, weitere Informationen ausgegeben werden.
Installation
sudo apt install --install-recommends --install-suggests htop
Aufruf
Optionen
| Unix | GNU | Parameter | Beschreibung |
|---|---|---|---|
Parameter
Umgebungsvariablen
Exit-Status
| Wert | Beschreibung |
|---|---|
| 0 | Erfolg |
| >0 | Fehler |
Anwendung
Tastenkombinationen
| Taste(n) | Funktion |
| ← , ↑ , → , ↓ | In Prozessliste blättern |
| ⇧ + U | Alle Tags entfernen |
| . , , | Inkrementelle Suche nach der PID |
| A | CPU-Affinität wählen |
| F1 , ? , H | Hilfe anzeigen |
| U | Prozesse eines Benutzers anzeigen |
| F2 , ⇧ + S | Setup öffnen und Einstellungen zu ändern |
| ⇧ + H | Zeigen/Verstecken von Userland-Threads |
| F3 , ⇧ + / | Inkrementelle Prozessnamensuche |
| ⇧ + K | Zeigen/Verstecken von Kernel-Threads |
| F4 , \ | Nach Namen filtern |
| ⇧ + F | Cursor einem Prozess anheften |
| F5 , T | Baumansicht de-/aktivieren |
| + , - | Baum aus-/einklappen |
| F6 , > | Spalte zum Sortieren wählen |
| ⇧ + P | Prozesse nach CPU-Auslastung sortieren |
| F7 | Nice-Wert verringern |
| ⇧ + M | Prozesse nach Arbeitsspeicherbenutzung sortieren |
| F8 | Nice-Wert erhöhen |
| ⇧ + T | Prozesse nach Zeit sortieren |
| F9 , K | Prozess oder Prozesse eines Tags beenden |
| L | Geöffnete Dateien mit lsof öffnen |
| F10 , Q , Strg + C | Beenden |
| S | Systemaufrufe mit strace verfolgen |
| Prozess taggen | |
| ⇧ + L | Bibliothekenaufrufe mit ltrace verfolgen |
| I | I/O-Steuerung (ab Version 1.0.2) |
Problembehebung
Konfiguration
Setup Menu
Categories
Display options
Header layout
Meters
Einstellung der Anzeigen im oberen Teil des Fensters
- Legt fest, welche „Skalen“ und Textanzeigen oben in htop angezeigt werden (CPU, Speicher, Festplatten, Netzwerk) und in welcher Form sie angezeigt werden.
Screens
Konfiguriert Spaltensätze für die Prozessliste
- Legt fest, welche Spalten im unteren Bereich von htop (Prozessliste) angezeigt werden.
- Ermöglicht die Erstellung mehrerer verschiedener `Tabs` mit unterschiedlichen Spaltengruppen: Haupttab (main), I/O-Bildschirm, Bildschirm mit Perf-Zählern usw.
- Spaltenliste
| Name der Spalte | Beschreibung |
|---|---|
| Command | Vollständige Befehlszeile des Prozesses (Programmname und Argumente). |
| COMM | Kurzer Befehlsname des Prozesses aus /proc/[pid]/comm. |
| EXE | Abgekürzter Name der auszuführenden Datei aus /proc/[pid]/exe, mit Markierung für ersetzte oder gelöschte Binaries. |
| PID | Prozess-ID (eindeutige Kennung des Prozesses). |
| STATE (S) | Aktueller Prozesszustand (z.B. R=running, S=sleeping, D=disk sleep, Z=zombie usw.). |
| PPID | Prozess-ID des Elternprozesses. |
| PGRP | Prozess-Gruppen-ID des Prozesses. |
| SESSION (SID) | Sitzungs-ID des Prozesses. |
| TTY | Steuerndes Terminal (controlling TTY) des Prozesses. |
| TPGID | PID der Vordergrund-Prozessgruppe des steuernden Terminals. |
| MINFLT | Anzahl der Minor-Pagefaults (Seitenfehler im Hauptspeicher). |
| CMINFLT | Minor-Pagefaults der wartenden Kindprozesse (kumuliert). |
| MAJFLT | Anzahl der Major-Pagefaults (Seitenfehler mit I/O aus dem Sekundärspeicher). |
| CMAJFLT | Major-Pagefaults der wartenden Kindprozesse (kumuliert). |
| UTIME (UTIME+) | Vom Prozess in User-Mode verbrauchte CPU-Zeit in Ticks. |
| STIME (STIME+) | Für den Prozess im Kernel-Mode verbrauchte CPU-Zeit in Ticks. |
| CUTIME (CUTIME+) | User-Mode-CPU-Zeit der wartenden Kindprozesse in Ticks. |
| CSTIME (CSTIME+) | Kernel-Mode-CPU-Zeit der wartenden Kindprozesse in Ticks. |
| PRIORITY (PRI) | Interne Kernel-Priorität des Prozesses, meist Nice-Wert + 20. |
| NICE (NI) | Nice-Wert des Prozesses (-20 bis 19; kleinere Werte bedeuten höhere Priorität). |
| STARTTIME (START) | Startzeitpunkt des Prozesses. |
| PROCESSOR (CPU) | ID der CPU, auf der der Prozess zuletzt ausgeführt wurde. |
| M_VIRT (VIRT) | Virtuelle Adressraumgröße des Prozesses. |
| M_RESIDENT (RES) | Resident Set Size: tatsächlich belegter physischer Speicher (Text, Daten und Stack). |
| M_SHARE (SHR) | Größe der vom Prozess genutzten gemeinsamen (shared) Speicherseiten. |
| M_TRS (CODE) | Residenter Textbereich: Größe der ausführbaren Anweisungen des Prozesses. |
| M_DRS (DATA) | Residenter Datenbereich: Daten und Stack, ohne ausführbaren Text. |
| M_LRS (LIB) | Vom Prozess belegter Bibliotheksspeicher. |
| M_SWAP (SWAP) | Vom Prozess in Swap ausgelagerte Speicherseiten. |
| M_PSS (PSS) | Proportional Set Size: RES, gewichtet nach Anzahl der teilenden Prozesse. |
| M_M_PSSWP (PSSWP) | Proportionaler Swap-Anteil dieser Zuordnung, ohne ausgelagerte shmem-Seiten. |
| ST_UID (UID) | User-ID des Prozesseigentümers. |
| PERCENT_CPU (CPU%) | Aktueller CPU-Anteil des Prozesses pro Core (Irix-Modus, max. 100 % je CPU). |
| PERCENT_NORM_CPU (NCPU%) | CPU-Anteil des Prozesses, normalisiert auf die Anzahl der CPUs (Solaris-Modus). |
| PERCENT_MEM (MEM%) | Anteil des physischen Speichers, den der Prozess (RES) nutzt. |
| USER | Benutzername des Prozesseigentümers bzw. UID, wenn kein Name ermittelt werden kann. |
| TIME (TIME+) | Gesamte vom Prozess verbrauchte CPU-Zeit (User- und Systemzeit) in Ticks. |
| NLWP | Anzahl der Light-Weight-Prozesse (Threads) im Prozess. |
| TGID | Thread-Group-ID, meist PID des Hauptthreads. |
| CTID | OpenVZ-Container-ID (Virtual-Environment-ID). |
| VPID | OpenVZ-Prozess-ID. |
| VXID | VServer-Prozess-ID. |
| RCHAR (RD_CHAR) | Anzahl der vom Prozess gelesenen Bytes (z.B. über read(2)). |
| WCHAR (WR_CHAR) | Anzahl der vom Prozess geschriebenen Bytes. |
| SYSCR (RD_SYSC) | Anzahl der read(2)-Systemaufrufe des Prozesses. |
| SYSCW (WR_SYSC) | Anzahl der write(2)-Systemaufrufe des Prozesses. |
| RBYTES (IO_RBYTES) | I/O-Bytes, die der Prozess per read(2) gelesen hat. |
| WBYTES (IO_WBYTES) | I/O-Bytes, die der Prozess per write(2) geschrieben hat. |
| CNCLWB (IO_CANCEL) | Bytes von abgebrochenen write(2)-I/O-Operationen. |
| IO_READ_RATE (DISK READ) | Aktuelle Lese-I/O-Rate des Prozesses in Bytes pro Sekunde. |
| IO_WRITE_RATE (DISK WRITE) | Aktuelle Schreib-I/O-Rate des Prozesses in Bytes pro Sekunde. |
| IO_RATE (DISK R/W) | Gesamt-I/O-Rate des Prozesses: Lese- plus Schreibrate. |
| CGROUP | Voller Name der Control-Group, in der der Prozess läuft. |
| CCGROUP | Gekürzte, komprimierte Darstellung des CGROUP-Namens. |
| OOM | OOM-Killer-Score des Prozesses. |
| CTXT | Zuwachs der freiwilligen und unfreiwilligen Kontextwechsel. |
| IO_PRIORITY (IO) | I/O-Scheduling-Klasse und zugehörige Priorität (R, B, id). |
| PERCENT_CPU_DELAY (CPUD%) | Prozentuale Zeit, in der der Prozess lauffähig war, aber auf eine CPU warten musste. |
| PERCENT_IO_DELAY (IOD%) | Prozentuale Zeit, die auf Abschluss synchroner Block-I/O gewartet wurde. |
| PERCENT_SWAP_DELAY (SWAPD%) | Prozentuale Zeit, die mit Einlagern (Swap-in) von Seiten verbracht wurde. |
| AGRP | Autogroup-Kennung des Prozesses (CFS-Autogroup). |
| ANI | Nice-Wert der Autogruppe des Prozesses. |
Dateien
| Datei | Beschreibung |
|---|---|
Anhang
Siehe auch
Dokumentation
- Man-Page
Links
Projekt
Weblinks
- Glances - Systemmonitor mit Echtzeit-Statistiken
- Shell/Befehlsübersicht Übersicht über verschiedene Shell-Befehle
TMP
Aufruf
$ htop [OPTION]
- Beispiel
# htop -u fred
Mit diesem Aufruf werden nur Prozesse des Benutzers fred angezeigt.
Zum Beenden Q, F10 oder Strg + C
- Hinweis
Der Entwickler weist darauf hin, dass in htop im Unterschied zu vergleichbaren Prozessmanagern alle einzelnen Threads eines Prozesses anzeigt werden.
- In der Baumansicht lässt sich das gut überblicken.
- Allerdings wird zu jedem Thread der gesamte Speicherverbrauch des Elternprozesses angegeben und nicht nur für den jeweiligen Thread.
- Im "Setup" F2 kann die Auflistung aller Threads ganz deaktiviert oder so konfiguriert werden, dass sie farbig zusammengefasst werden.
Optionen
| Parameter | |
| Parameter | Funktion |
| -d --delay=AKTUALISIERUNGSRATE | Aktualisierungsrate in 1/10 Sekunden angeben |
| -C --no-color --no-colour | Ohne Farben starten |
| -h --help | Kurzhilfe anzeigen |
| -u --user=BENUTZERNAME | Nur Prozesse des angegebenen Benutzers anzeigen |
| -s --sort-key SPALTENTYP | Nach einer bestimmten Spalte sortieren.
|
| -v --version | Version anzeigen |
Umgebung
Rückgabewert
Konfiguration
Setup Menu
Categories
Display options
Header layout
Meters
Einstellung der Anzeigen im oberen Teil des Fensters
- Legt fest, welche „Skalen“ und Textanzeigen oben in htop angezeigt werden (CPU, Speicher, Festplatten, Netzwerk) und in welcher Form sie angezeigt werden.
Screens
Konfiguriert Spaltensätze für die Prozessliste
- Legt fest, welche Spalten im unteren Bereich von htop (Prozessliste) angezeigt werden.
- Ermöglicht die Erstellung mehrerer verschiedener `Tabs` mit unterschiedlichen Spaltengruppen: Haupttab (main), I/O-Bildschirm, Bildschirm mit Perf-Zählern usw.
- Spaltenliste
| Name der Spalte | Beschreibung |
|---|---|
| Command | Vollständige Befehlszeile des Prozesses (Programmname und Argumente). |
| COMM | Kurzer Befehlsname des Prozesses aus /proc/[pid]/comm. |
| EXE | Abgekürzter Name der auszuführenden Datei aus /proc/[pid]/exe, mit Markierung für ersetzte oder gelöschte Binaries. |
| PID | Prozess-ID (eindeutige Kennung des Prozesses). |
| STATE (S) | Aktueller Prozesszustand (z.B. R=running, S=sleeping, D=disk sleep, Z=zombie usw.). |
| PPID | Prozess-ID des Elternprozesses. |
| PGRP | Prozess-Gruppen-ID des Prozesses. |
| SESSION (SID) | Sitzungs-ID des Prozesses. |
| TTY | Steuerndes Terminal (controlling TTY) des Prozesses. |
| TPGID | PID der Vordergrund-Prozessgruppe des steuernden Terminals. |
| MINFLT | Anzahl der Minor-Pagefaults (Seitenfehler im Hauptspeicher). |
| CMINFLT | Minor-Pagefaults der wartenden Kindprozesse (kumuliert). |
| MAJFLT | Anzahl der Major-Pagefaults (Seitenfehler mit I/O aus dem Sekundärspeicher). |
| CMAJFLT | Major-Pagefaults der wartenden Kindprozesse (kumuliert). |
| UTIME (UTIME+) | Vom Prozess in User-Mode verbrauchte CPU-Zeit in Ticks. |
| STIME (STIME+) | Für den Prozess im Kernel-Mode verbrauchte CPU-Zeit in Ticks. |
| CUTIME (CUTIME+) | User-Mode-CPU-Zeit der wartenden Kindprozesse in Ticks. |
| CSTIME (CSTIME+) | Kernel-Mode-CPU-Zeit der wartenden Kindprozesse in Ticks. |
| PRIORITY (PRI) | Interne Kernel-Priorität des Prozesses, meist Nice-Wert + 20. |
| NICE (NI) | Nice-Wert des Prozesses (-20 bis 19; kleinere Werte bedeuten höhere Priorität). |
| STARTTIME (START) | Startzeitpunkt des Prozesses. |
| PROCESSOR (CPU) | ID der CPU, auf der der Prozess zuletzt ausgeführt wurde. |
| M_VIRT (VIRT) | Virtuelle Adressraumgröße des Prozesses. |
| M_RESIDENT (RES) | Resident Set Size: tatsächlich belegter physischer Speicher (Text, Daten und Stack). |
| M_SHARE (SHR) | Größe der vom Prozess genutzten gemeinsamen (shared) Speicherseiten. |
| M_TRS (CODE) | Residenter Textbereich: Größe der ausführbaren Anweisungen des Prozesses. |
| M_DRS (DATA) | Residenter Datenbereich: Daten und Stack, ohne ausführbaren Text. |
| M_LRS (LIB) | Vom Prozess belegter Bibliotheksspeicher. |
| M_SWAP (SWAP) | Vom Prozess in Swap ausgelagerte Speicherseiten. |
| M_PSS (PSS) | Proportional Set Size: RES, gewichtet nach Anzahl der teilenden Prozesse. |
| M_M_PSSWP (PSSWP) | Proportionaler Swap-Anteil dieser Zuordnung, ohne ausgelagerte shmem-Seiten. |
| ST_UID (UID) | User-ID des Prozesseigentümers. |
| PERCENT_CPU (CPU%) | Aktueller CPU-Anteil des Prozesses pro Core (Irix-Modus, max. 100 % je CPU). |
| PERCENT_NORM_CPU (NCPU%) | CPU-Anteil des Prozesses, normalisiert auf die Anzahl der CPUs (Solaris-Modus). |
| PERCENT_MEM (MEM%) | Anteil des physischen Speichers, den der Prozess (RES) nutzt. |
| USER | Benutzername des Prozesseigentümers bzw. UID, wenn kein Name ermittelt werden kann. |
| TIME (TIME+) | Gesamte vom Prozess verbrauchte CPU-Zeit (User- und Systemzeit) in Ticks. |
| NLWP | Anzahl der Light-Weight-Prozesse (Threads) im Prozess. |
| TGID | Thread-Group-ID, meist PID des Hauptthreads. |
| CTID | OpenVZ-Container-ID (Virtual-Environment-ID). |
| VPID | OpenVZ-Prozess-ID. |
| VXID | VServer-Prozess-ID. |
| RCHAR (RD_CHAR) | Anzahl der vom Prozess gelesenen Bytes (z.B. über read(2)). |
| WCHAR (WR_CHAR) | Anzahl der vom Prozess geschriebenen Bytes. |
| SYSCR (RD_SYSC) | Anzahl der read(2)-Systemaufrufe des Prozesses. |
| SYSCW (WR_SYSC) | Anzahl der write(2)-Systemaufrufe des Prozesses. |
| RBYTES (IO_RBYTES) | I/O-Bytes, die der Prozess per read(2) gelesen hat. |
| WBYTES (IO_WBYTES) | I/O-Bytes, die der Prozess per write(2) geschrieben hat. |
| CNCLWB (IO_CANCEL) | Bytes von abgebrochenen write(2)-I/O-Operationen. |
| IO_READ_RATE (DISK READ) | Aktuelle Lese-I/O-Rate des Prozesses in Bytes pro Sekunde. |
| IO_WRITE_RATE (DISK WRITE) | Aktuelle Schreib-I/O-Rate des Prozesses in Bytes pro Sekunde. |
| IO_RATE (DISK R/W) | Gesamt-I/O-Rate des Prozesses: Lese- plus Schreibrate. |
| CGROUP | Voller Name der Control-Group, in der der Prozess läuft. |
| CCGROUP | Gekürzte, komprimierte Darstellung des CGROUP-Namens. |
| OOM | OOM-Killer-Score des Prozesses. |
| CTXT | Zuwachs der freiwilligen und unfreiwilligen Kontextwechsel. |
| IO_PRIORITY (IO) | I/O-Scheduling-Klasse und zugehörige Priorität (R, B, id). |
| PERCENT_CPU_DELAY (CPUD%) | Prozentuale Zeit, in der der Prozess lauffähig war, aber auf eine CPU warten musste. |
| PERCENT_IO_DELAY (IOD%) | Prozentuale Zeit, die auf Abschluss synchroner Block-I/O gewartet wurde. |
| PERCENT_SWAP_DELAY (SWAPD%) | Prozentuale Zeit, die mit Einlagern (Swap-in) von Seiten verbracht wurde. |
| AGRP | Autogroup-Kennung des Prozesses (CFS-Autogroup). |
| ANI | Nice-Wert der Autogruppe des Prozesses. |