top — Prozesse und Systemlast in Echtzeit überwachen

Praxis-Guide zu top: CPU- und Speicherlast live überwachen, interaktiv sortieren und filtern, Prozesse beenden und Snapshots für Skripte erzeugen.

top zeigt dir in Echtzeit, was auf deinem System gerade läuft: eine ständig aktualisierte Übersicht aus Systemkennzahlen und einer nach CPU-Last sortierten Prozessliste. Mit einem einzigen Tastendruck sortierst du nach Speicher, filterst nach Nutzer oder beendest einen Prozess, der Amok läuft. Dieser Guide führt dich durch die wichtigsten Aufrufe, die interaktiven Tasten und den Batch-Modus für Skripte und Logs.

Grundlegende Verwendung

top — Startet top im interaktiven Modus mit Standardeinstellungen.

top

top -d SECONDS — Setzt das Aktualisierungsintervall in Sekunden (Standard: 3).

top -d 1

top -n ITERATIONS — Beendet top nach einer festgelegten Anzahl an Aktualisierungen.

top -n 5

top -b — Batch-Modus – nicht-interaktiv, geeignet für Pipes und Logging.

top -b -n 1

top -p PID — Überwacht nur bestimmte Prozesse anhand der PID.

top -p 1234

top -p PID1,PID2,PID3 — Überwacht mehrere bestimmte Prozesse.

top -p 1234,5678,9012

top -u USER — Zeigt nur Prozesse eines bestimmten Nutzers.

top -u www-data

top -H — Zeigt einzelne Threads statt Prozesse.

top -H

Interaktives Sortieren

P — Sortiert nach CPU-Auslastung (Standard).

M — Sortiert nach Speicherauslastung (%MEM).

N — Sortiert nach Prozess-ID.

T — Sortiert nach kumulierter CPU-Zeit.

R — Kehrt die Sortierreihenfolge um.

< / > — Verschiebt die Sortierspalte nach links/rechts.

Interaktive Anzeige

1 — Schaltet die Anzeige einzelner CPU-Kerne um.

t — Wechselt durch die CPU-Anzeigemodi (Text, Balkendiagramm, aus).

m — Wechselt durch die Speicher-Anzeigemodi (Text, Balkendiagramm, aus).

l — Schaltet die Zeile mit Lastdurchschnitt/Uptime um.

c — Wechselt zwischen Befehlsname und vollständiger Befehlszeile.

V — Schaltet die Baumansicht um (Eltern-Kind-Hierarchie).

H — Schaltet die Thread-Anzeige um.

i — Schaltet die Anzeige inaktiver Prozesse um.

x — Hebt die aktuelle Sortierspalte hervor.

b — Schaltet Fett-/Invers-Darstellung für laufende Prozesse um.

z — Schaltet die Farbdarstellung um.

e — Wechselt die Speichereinheiten der Prozessliste (KB, MB, GB, TB).

E — Wechselt die Speichereinheiten im Übersichtsbereich.

Interaktives Filtern & Suchen

u — Filtert nach Nutzer. Nutzername oder UID eingeben.

o/O — Fügt einen Filter hinzu (z. B. COMMAND=nginx, %CPU>10, %MEM>5).

Ctrl+O — Zeigt die aktiven Filter.

= — Entfernt alle Filter des aktuellen Fensters.

L — Sucht eine Zeichenkette in der Prozessliste.

& — Springt zum nächsten Treffer der Suche.

n — Legt die maximale Anzahl angezeigter Prozesse fest.

Interaktive Aktionen

k — Beendet einen Prozess. PID eingeben, dann Signalnummer (Standard: 15/SIGTERM).

r — Ändert die Priorität (renice) eines Prozesses. PID eingeben, dann neuen Nice-Wert.

d / s — Ändert das Aktualisierungsintervall.

W — Schreibt die aktuellen Einstellungen nach ~/.toprc.

q — Beendet top.

h / ? — Zeigt die Hilfe.

Wichtige Spalten erklärt

PID — Prozess-ID.

USER — Eigentümer des Prozesses.

PR — Priorität (20 = normal, <20 = höher, rt = Echtzeit).

NI — Nice-Wert (-20 bis 19). Niedriger = höhere Priorität.

VIRT — Virtueller Speicher (gesamter Adressraum, inklusive geteilter Bibliotheken und gemappter Dateien).

RES — Resident genutzter Speicher – physisches RAM, das der Prozess tatsächlich belegt.

SHR — Geteilter Speicher – RAM, das mit anderen Prozessen geteilt wird.

S — Prozesszustand: R=laufend, S=schlafend, D=Disk-Wait, Z=Zombie, T=gestoppt.

%CPU — CPU-Auslastung in Prozent (kann auf Mehrkernsystemen 100 % übersteigen).

%MEM — Anteil des belegten physischen Speichers in Prozent.

TIME+ — Kumulierte CPU-Zeit (Minuten:Sekunden.Hundertstel).

COMMAND — Befehlsname oder vollständige Befehlszeile.

Batch-Modus & Skripting

top -bn1 | head -20 — Schnelle Systemübersicht: ein Snapshot, die ersten 20 Zeilen.

top -bn1 | head -20

top -bn1 -o %MEM | head -15 — Größte Speicherverbraucher im Batch-Modus.

top -bn1 -o %MEM | head -15

top -bn1 -o %CPU | head -15 — Größte CPU-Verbraucher im Batch-Modus.

top -bn1 -o %CPU | head -15

top -b -n 60 -d 1 > top.log — Protokolliert 60 Sekunden Prozessdaten.

top -b -n 60 -d 1 > top.log

top -bn1 -u USER — Zeigt alle Prozesse eines Nutzers (Batch-Modus).

top -bn1 -u www-data

Fazit

top ist auf praktisch jedem Linux-Server vorinstalliert und liefert dir in Sekunden ein Bild der Systemlast – für den Alltag reichen meist P (nach CPU), M (nach Speicher), u (Nutzerfilter) und der Batch-Modus top -b -n 1 für Skripte und Logs. Lies den Lastdurchschnitt (1/5/15 Minuten) immer im Verhältnis zur Anzahl der CPU-Kerne: ein Wert von 4 ist auf einem 8-Kern-System entspannt, auf einem Single-Core dagegen klare Überlast. Vorsicht bei den interaktiven Aktionen k (kill) und r (renice) – sie greifen direkt in laufende Prozesse ein und können mit der falschen PID Dienste abschießen. Wer mehr Komfort, Farbe und Maus-Bedienung will, greift zu htop; für einen reinen Snapshot ohne Live-Ansicht ist ps die ruhigere Wahl. Auf macOS ist top ein anderes Programm mit eigener Syntax (etwa top -o cpu zum Sortieren).

Verwandte Kommandos

  • htop – komfortabler, farbiger Prozessmonitor mit Maus-Bedienung
  • ps – Momentaufnahme der laufenden Prozesse ohne Live-Ansicht
  • free – Belegung von Arbeitsspeicher und Swap auf einen Blick