# 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.

Source: https://www.jpkc.com/db/cheatsheets/shell-system/top/

<!-- PROSE:intro -->
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.
<!-- PROSE:intro:end -->

## Grundlegende Verwendung

`top` — Startet top im interaktiven Modus mit Standardeinstellungen.

```bash
top
```

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

```bash
top -d 1
```

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

```bash
top -n 5
```

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

```bash
top -b -n 1
```

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

```bash
top -p 1234
```

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

```bash
top -p 1234,5678,9012
```

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

```bash
top -u www-data
```

`top -H` — Zeigt einzelne Threads statt Prozesse.

```bash
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.

```bash
top -bn1 | head -20
```

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

```bash
top -bn1 -o %MEM | head -15
```

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

```bash
top -bn1 -o %CPU | head -15
```

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

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

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

```bash
top -bn1 -u www-data
```

<!-- PROSE:outro -->
## 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).

## Weiterführende Links

- [Wikipedia: top (Unix)](https://de.wikipedia.org/wiki/Top_(Unix)) – Hintergrund und Geschichte des Prozessmonitors
- [man7.org: top(1)](https://man7.org/linux/man-pages/man1/top.1.html) – vollständige Referenz aller Optionen und interaktiven Tasten
<!-- PROSE:outro:end -->

## Verwandte Kommandos

- [htop](https://www.jpkc.com/db/cheatsheets/shell-system/htop/) – komfortabler, farbiger Prozessmonitor mit Maus-Bedienung
- [ps](https://www.jpkc.com/db/cheatsheets/shell-system/ps/) – Momentaufnahme der laufenden Prozesse ohne Live-Ansicht
- [free](https://www.jpkc.com/db/cheatsheets/shell-system/free/) – Belegung von Arbeitsspeicher und Swap auf einen Blick

