Schnell-Übersicht: was läuft gerade?
# Alles auf einen Blick
htop # CPU + RAM + Prozesse (interaktiv)
glances # Dashboard: CPU, RAM, Disk, Net, Prozesse
dstat # Live-Statistiken alle Ressourcen
# CPU und Prozesse
top -b -n 1 # einmalig (non-interactive)
ps aux --sort=-%cpu | head -10 # Top CPU-Prozesse
ps aux --sort=-%mem | head -10 # Top RAM-Prozesse
# Load Average verstehen
uptime
# load average: 1.23, 0.98, 0.87
# 1min, 5min, 15min Average
# Ideal: < Anzahl CPU-Kerne
nproc # Anzahl CPU-Kerne
CPU Analyse
# CPU-Nutzung pro Kern
mpstat -P ALL 1 5 # 5x im Sekundenabstand
# Prozess-CPU-Profiling
pidstat 1 5 # CPU pro Prozess
# CPU-Frequenz
watch -n 1 cat /proc/cpuinfo | grep "MHz"
# IRQ-Verteilung
watch -n 1 cat /proc/interrupts
# CPU-Performance-Analyse (Profiling)
perf top # Live CPU-Profiler
perf stat ls -la # Statistiken für Befehl
RAM Analyse
# RAM-Überblick
free -h
# Detailliert
cat /proc/meminfo
# Speicher-Verbrauch pro Prozess
smem -s rss -r -k | head -20
ps_mem # Alternative (installieren: pip install ps_mem)
# Swap-Nutzung
swapon --show
vmstat 1 10 # RAM + Swap-Statistiken
# OOM-Killer History
journalctl | grep -i "oom|out of memory" | tail -20
dmesg | grep "oom|killed" | tail -20
Disk I/O Analyse
# Disk-Aktivität live
iostat -x 1 5 # Extended Statistics
iotop -ao # Prozesse sortiert nach I/O
# Disk-Geschwindigkeit messen
hdparm -t /dev/sda # Sequenziell lesen
dd if=/dev/zero of=/tmp/test bs=1M count=1000 oflag=direct
fio --name=test --rw=randrw --size=1G # Detaillierter Test
# Speicherplatz analysieren
df -h # Übersicht
du -sh /var/log/* # Verzeichnisgröße
ncdu / # Interaktiv (installieren: apt install ncdu)
# Offene Dateien
lsof | wc -l # Anzahl offener Dateien
lsof -p <PID> # Dateien eines Prozesses
Netzwerk Analyse
# Aktuelle Verbindungen
ss -tulpn # TCP+UDP Listening Ports
ss -tn | grep ESTAB # Etablierte TCP-Verbindungen
netstat -tulpn # Alternative (veraltet aber weit verbreitet)
# Netzwerk-Traffic live
nload # Bandbreite pro Interface
iftop -i eth0 # Top-Verbindungen nach Bandbreite
nethogs # Bandbreite pro Prozess
# Netzwerk-Statistiken
ss -s # Zusammenfassung
ip -s link show eth0 # Interface-Statistiken
System-Bottleneck finden (USE-Methode)
# USE: Utilization, Saturation, Errors
# CPU Utilization + Saturation
vmstat 1 10
# us: User, sy: Kernel, wa: IO-Wait (hoch = Disk-Bottleneck)
# r: Run Queue (hoch = CPU-Bottleneck)
# Disk Utilization
iostat -x 1 5
# %util: Disk-Auslastung > 80% = Bottleneck
# await: I/O-Wartezeit > 10ms = Bottleneck
# Memory Saturation
vmstat 1 10
# si/so: Swap In/Out > 0 = RAM-Bottleneck!
FAQ
Was bedeutet hoher iowait?
CPU wartet auf Disk-I/O. Ursachen: langsame Disk, zu viele parallele I/O-Operationen, ineffiziente DB-Abfragen.
Fazit
Systematische Performance-Analyse mit der USE-Methode (Utilization, Saturation, Errors) für jede Ressource führt schnell zu Bottlenecks.
Linux-Performance-Optimierung für KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Beratung anfragen.