Linuxguide

Linux Performance-Monitoring – die wichtigsten Tools 2025

CPU, RAM, Disk und Netzwerk analysieren mit htop, iotop und ss

S
SeeColors IT
11. Juni 20264 Min. Lesezeit172 Aufrufe

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.

Artikel teilen

War dieser Artikel hilfreich?

Dein Feedback hilft uns, bessere Inhalte zu erstellen.

Kommentar hinterlassen

Verwandte Artikel