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

top

Die 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-fpm

Header-Erklärung

ZeileBedeutung
load averageCPU-Auslastung (1/5/15 Min)
TasksAnzahl Prozesse nach Status
%CpuCPU-Aufteilung (us=user, sy=system, id=idle, wa=wait)
Mem/SwapRAM und Swap-Nutzung

Spalten-Bedeutung

SpalteBedeutung
PIDProzess-ID
USERBenutzer
PRPriorität
NINice-Wert
VIRTVirtueller Speicher
RESPhysischer Speicher (wichtig!)
SHRShared Memory
SStatus (R=Running, S=Sleeping, Z=Zombie)
%CPUCPU-Auslastung
%MEMRAM-Auslastung

Wichtige Tastenkürzel in top

TasteFunktion
qBeenden
MNach Speicher sortieren
PNach CPU sortieren
kProzess beenden (kill)
uBenutzer filtern
1Einzelne CPU-Kerne anzeigen
hHilfe

htop - Die bessere Alternative

htop ist moderner und benutzerfreundlicher.

Installation

apt install htop

Starten

htop

Vorteile gegenüber top

  • Farbige Darstellung
  • Mausunterstützung
  • Einfachere Navigation
  • Prozessbaum-Ansicht
  • Direkte Such- und Filterfunktion

htop-Tastenkürzel

TasteFunktion
F1-F10Menü (unten angezeigt)
/Suchen
F4Filtern
F5Baumansicht
F6Sortierung ändern
F9Kill-Menü
SpaceProzess markieren
cTag children
tBaumansicht ein/aus
uBenutzer 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 Minute

Was 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:

nproc

CPU-Auslastung verstehen

%Cpu(s):  5.3 us,  1.2 sy,  0.0 ni, 93.2 id,  0.3 wa
KürzelBedeutungTypisch
usUser (Anwendungen)Hoch bei PHP, Node.js
sySystem (Kernel)Hoch bei I/O
niNice (niedrige Priorität)Selten hoch
idIdle (Leerlauf)Sollte bei Ruhe hoch sein
waWait (Warten auf I/O)Hoch = Festplatten-Problem
hiHardware InterruptsSelten relevant
siSoftware InterruptsSelten 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/cache

Linux nutzt freien RAM als Cache! Das ist normal und gut.

Verfügbarer Speicher:

free -h

Die Zeile "available" zeigt, wie viel RAM wirklich verfügbar ist.

Häufige Szenarien

Hohe CPU durch einen Prozess

top -c  # Mit vollem Befehl

Verdächtigen Prozess identifizieren und ggf. beenden:

kill -15 PID    # Sanft
kill -9 PID     # Hart

Hoher RAM-Verbrauch

ps aux --sort=-%mem | head -10

I/O-Wait hoch

Festplatten-Engpass. Prüfen mit:

iostat -x 1
iotop

Zombie-Prozesse

Prozesse die beendet sind, aber nicht "aufgeräumt" wurden:

ps aux | grep Z

Parent-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 Namen

Nur bestimmte Prozesse

# Alle PHP-Prozesse
htop -p $(pgrep -d, php)

# Prozesse eines Benutzers
htop -u www-data

Alternativen

  • glances: Umfassenderer Systemmonitor
  • btop: Modernes htop-Ähnliches Tool
  • atop: Mit Historie
apt install glances btop

Fazit

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.