===== top - Prozesse und Systemauslastung überwachen =====
**Kurzfassung:** top ist ein Kommandozeilen-Tool zur Anzeige der aktuellen Systemauslastung, laufender Prozesse und Ressourcennutzung in Echtzeit. Es zeigt CPU-, Speicher- und Prozessauslastung dynamisch an und ermöglicht interaktive Prozessverwaltung. Unverzichtbar für Performance-Monitoring und Troubleshooting.
==== Übersicht ====
top zeigt kontinuierlich aktualisierte Informationen über Systemauslastung und Prozesse. Es bietet interaktive Steuerung zum Sortieren, Filtern und Beenden von Prozessen direkt aus der Ansicht.
==== Voraussetzungen ====
* Zugriff auf die Linux-Kommandozeile
* Grundverständnis von Prozessen und Systemressourcen
* Root-Rechte zum Beenden fremder Prozesse
==== Syntax ====
top [Optionen]
==== Wichtige Optionen ====
-d SEKUNDEN # Update-Intervall (Standard: 3 Sekunden)
-u BENUTZER # Nur Prozesse eines Benutzers anzeigen
-p PID # Nur bestimmte Prozess-IDs überwachen
-n ANZAHL # Anzahl der Iterationen, dann beenden
-b # Batch-Modus (nicht-interaktiv)
-H # Threads einzeln anzeigen
-i # Idle-Prozesse ausblenden
==== Anleitung ====
=== Schritt 1: Top starten und beenden ===
# Standard-Ansicht starten
top
# Beenden mit:
# q - Quit
# Ctrl+C
# Mit Update-Intervall
top -d 1
=== Schritt 2: Ausgabe verstehen ===
top - 14:46:19 up 3:31, 0 user, load average: 1.05, 0.93, 0.85
Tasks: 15 total, 1 running, 14 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.4 sy, 0.0 ni, 99.1 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
MiB Mem : 30844.8 total, 30253.9 free, 55.8 used, 530.4 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 30789.0 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 21840 12532 9020 S 0.0 0.0 0:00.45 systemd
**Kopfzeile Erklärung:**
* **load average:** Systemlast (1, 5, 15 Minuten Durchschnitt)
* **Tasks:** Anzahl Prozesse (total, running, sleeping, stopped, zombie)
* **%Cpu(s):** us=User, sy=System, ni=Nice, id=Idle, wa=IO-Wait, hi=Hardware-IRQ, si=Software-IRQ, st=Steal
* **Mem:** RAM total, free, used, buff/cache
* **Swap:** Swap total, free, used, verfügbar
**Prozessliste:**
* **PID:** Prozess-ID
* **USER:** Benutzer
* **PR:** Priorität
* **NI:** Nice-Wert (-20 bis 19)
* **VIRT:** Virtueller Speicher
* **RES:** Resident Memory (physischer RAM)
* **SHR:** Shared Memory
* **S:** Status (R=Running, S=Sleeping, D=Uninterruptible, Z=Zombie)
* **%CPU:** CPU-Auslastung
* **%MEM:** RAM-Auslastung
* **TIME+:** CPU-Zeit
* **COMMAND:** Kommando/Prozessname
=== Schritt 3: Interaktive Befehle ===
# In laufendem top:
h oder ? # Hilfe anzeigen
q # Beenden
# Sortierung
P # Nach CPU-Auslastung sortieren (Standard)
M # Nach Speicher sortieren
T # Nach Laufzeit sortieren
< # Sortierfeld nach links
> # Sortierfeld nach rechts
# Filterung
u # Benutzer filtern (dann Benutzername eingeben)
k # Prozess beenden (PID eingeben, dann Signal)
# Ansicht
1 # Einzelne CPUs anzeigen
H # Threads anzeigen
i # Idle-Prozesse ausblenden
c # Vollständigen Befehl anzeigen
V # Baumansicht (Parent-Child)
# Update
d oder s # Update-Intervall ändern
=== Schritt 4: Spezifische Ansichten ===
# Nur Prozesse eines Benutzers
top -u www-data
# Bestimmte Prozesse überwachen
top -p 1234,5678,9012
# Batch-Modus (für Scripts)
top -b -n 1 > /tmp/top-output.txt
# Threads einzeln anzeigen
top -H
top -H -p 1234
=== Schritt 5: Prozesse beenden ===
# In top: k drücken
# PID eingeben: 1234
# Signal eingeben: 15 (SIGTERM) oder 9 (SIGKILL)
# Oder direkt:
top -p 1234 # Prozess überwachen
# Dann k, PID, Signal
==== Hinweise ====
* **Load Average:** Werte > Anzahl CPU-Kerne = Überlastung
* **Zombie-Prozesse:** Beendete Prozesse, Parent hat Status nicht abgeholt
* **VIRT vs RES:** VIRT ist reserviert, RES tatsächlich genutzter RAM
* **Swap-Nutzung:** Hohe Swap-Nutzung deutet auf RAM-Mangel hin
* **Alternative:** ''htop'' ist benutzerfreundlicher mit besserer Visualisierung
* **Batch-Modus:** Mit ''-b -n 1'' für Monitoring-Scripts
==== Siehe auch ====
* [[sammlung:htop|htop - Interaktiver Process Viewer]]
* [[sammlung:prozesse|Prozessverwaltung]]
* [[sammlung:free|free - Speicher anzeigen]]
* [[sammlung:iostat|iostat - I/O-Statistiken]]
* [[sammlung:vmstat|vmstat - Virtual Memory Statistics]]
==== Quellen ====
* [[https://man7.org/linux/man-pages/man1/top.1.html|top Man Page]]
* [[https://wiki.ubuntuusers.de/top/|Ubuntu Wiki - top]]
| **NI** | Nice-Wert (Prioritätsmodifikator) |
| **VIRT** | Virtueller Speicher, den der Prozess belegt (inkl. ausgelagertem Speicher) |
| **RES** | Residenter Speicher (tatsächlich im RAM belegt) |
| **SHR** | Gemeinsam genutzter Speicher (Shared Memory) |
| **S** | Status des Prozesses (z.B. S=sleeping, R=running) |
| **%CPU** | Anteil der CPU-Auslastung |
| **%MEM** | Anteil der Speicherauslastung |
| **TIME+** | Gesamte CPU-Zeit, die der Prozess genutzt hat |
| **COMMAND** | Name des ausgeführten Befehls/Prozesses |
==== Weitere Informationen ====
man top
----
{{tag>cli utilites debugging basics advanced}}
----