Wenn der Server langsam ist, sind top oder htop die ersten Anlaufstellen. Sie zeigen in Echtzeit, welche Prozesse CPU und RAM verbrauchen.
top - Der Klassiker
top ist auf jedem Linux-System vorinstalliert.
Starten
topDie Anzeige verstehen
top - 10:30:00 up 7 days, 3:22, 2 users, load average: 0.52, 0.58, 0.59
Tasks: 195 total, 1 running, 194 sleeping, 0 stopped, 0 zombie
%Cpu(s): 5.3 us, 1.2 sy, 0.0 ni, 93.2 id, 0.3 wa, 0.0 hi, 0.0 si
MiB Mem : 7974.0 total, 523.4 free, 2341.2 used, 5109.4 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 5324.6 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 www-data 20 0 512340 45332 12344 S 8.3 0.6 1:23.45 php-fpmHeader-Erklärung
| Zeile | Bedeutung | |-------|-----------| | load average | CPU-Auslastung (1/5/15 Min) | | Tasks | Anzahl Prozesse nach Status | | %Cpu | CPU-Aufteilung (us=user, sy=system, id=idle, wa=wait) | | Mem/Swap | RAM und Swap-Nutzung |
Spalten-Bedeutung
| Spalte | Bedeutung | |--------|-----------| | PID | Prozess-ID | | USER | Benutzer | | PR | Priorität | | NI | Nice-Wert | | VIRT | Virtueller Speicher | | RES | Physischer Speicher (wichtig!) | | SHR | Shared Memory | | S | Status (R=Running, S=Sleeping, Z=Zombie) | | %CPU | CPU-Auslastung | | %MEM | RAM-Auslastung |
Wichtige Tastenkürzel in top
| Taste | Funktion | |-------|----------| | q | Beenden | | M | Nach Speicher sortieren | | P | Nach CPU sortieren | | k | Prozess beenden (kill) | | u | Benutzer filtern | | 1 | Einzelne CPU-Kerne anzeigen | | h | Hilfe |
htop - Die bessere Alternative
htop ist moderner und benutzerfreundlicher.
Installation
apt install htopStarten
htopVorteile gegenüber top
- Farbige Darstellung
- Mausunterstützung
- Einfachere Navigation
- Prozessbaum-Ansicht
- Direkte Such- und Filterfunktion
htop-Tastenkürzel
| Taste | Funktion | |-------|----------| | F1-F10 | Menü (unten angezeigt) | | / | Suchen | | F4 | Filtern | | F5 | Baumansicht | | F6 | Sortierung ändern | | F9 | Kill-Menü | | Space | Prozess markieren | | c | Tag children | | t | Baumansicht ein/aus | | u | Benutzer filtern |
htop konfigurieren
Drücken Sie F2 (Setup):
- Spalten anpassen
- Farben ändern
- Meter wählen
Konfiguration wird in ~/.config/htop/htoprc gespeichert.
Load Average verstehen
load average: 0.52, 0.58, 0.59
│ │ │
│ │ └── Letzte 15 Minuten
│ └──────── Letzte 5 Minuten
└────────────── Letzte MinuteWas bedeuten die Zahlen?
- 1.00 = Eine CPU ist zu 100% ausgelastet
- 4.00 bei 4 CPUs = Alle CPUs voll ausgelastet
- 8.00 bei 4 CPUs = Überlastet (Prozesse warten)
Faustregel: Load sollte nicht dauerhaft über der CPU-Anzahl liegen.
CPU-Anzahl ermitteln:
nprocCPU-Auslastung verstehen
%Cpu(s): 5.3 us, 1.2 sy, 0.0 ni, 93.2 id, 0.3 wa| Kürzel | Bedeutung | Typisch | |--------|-----------|---------| | us | User (Anwendungen) | Hoch bei PHP, Node.js | | sy | System (Kernel) | Hoch bei I/O | | ni | Nice (niedrige Priorität) | Selten hoch | | id | Idle (Leerlauf) | Sollte bei Ruhe hoch sein | | wa | Wait (Warten auf I/O) | Hoch = Festplatten-Problem | | hi | Hardware Interrupts | Selten relevant | | si | Software Interrupts | Selten relevant |
Wichtig: Hoher wa-Wert deutet auf langsame Festplatten hin!
RAM-Auslastung verstehen
MiB Mem: 7974.0 total, 523.4 free, 2341.2 used, 5109.4 buff/cacheLinux nutzt freien RAM als Cache! Das ist normal und gut.
Verfügbarer Speicher:
free -hDie Zeile "available" zeigt, wie viel RAM wirklich verfügbar ist.
Häufige Szenarien
Hohe CPU durch einen Prozess
top -c # Mit vollem BefehlVerdächtigen Prozess identifizieren und ggf. beenden:
kill -15 PID # Sanft
kill -9 PID # HartHoher RAM-Verbrauch
ps aux --sort=-%mem | head -10I/O-Wait hoch
Festplatten-Engpass. Prüfen mit:
iostat -x 1
iotopZombie-Prozesse
Prozesse die beendet sind, aber nicht "aufgeräumt" wurden:
ps aux | grep ZParent-Prozess finden und ggf. neustarten.
Prozesse beenden
In htop
1. Prozess mit Pfeiltasten auswählen 2. F9 drücken 3. Signal wählen (15=SIGTERM, 9=SIGKILL) 4. Enter
Per Kommandozeile
kill PID # SIGTERM (sanft)
kill -9 PID # SIGKILL (hart)
pkill -f "name" # Nach Namen
killall nginx # Alle mit diesem NamenNur bestimmte Prozesse
# Alle PHP-Prozesse
htop -p $(pgrep -d, php)
# Prozesse eines Benutzers
htop -u www-dataAlternativen
- glances: Umfassenderer Systemmonitor
- btop: Modernes htop-Ähnliches Tool
- atop: Mit Historie
apt install glances btopFazit
top und htop sind unverzichtbar für die Server-Administration. Lernen Sie, die Load Average und CPU-Aufteilung zu lesen. Hoher wa-Wert = I/O-Problem. htop ist komfortabler als top und sollte auf jedem Server installiert sein.