Langsame Disk-I/O erkennen und beheben
Erkennen und Beheben von langsamen Disk-I/O-Problemen auf Linux-Servern mit iotop, iostat und Optimierungstechniken.
Inhaltsverzeichnis
Einführung
Langsame Disk-I/O ist ein häufiges Problem, das die Serverleistung erheblich beeinträchtigt. Datenbankabfragen verlangsamen sich, Webanwendungen reagieren nicht mehr und das System fühlt sich insgesamt träge an. Diese Anleitung zeigt, wie Sie langsame Disk-I/O erkennen und beheben.
Symptome
Typische Anzeichen für langsame Disk-I/O:
- Befehle hängen lange (besonders
ls,find, Datei lesen/schreiben) - Datenbankabfragen viel langsamer als normal
- Hoher
wa(I/O-Wait) Wert intopoderhtop - Timeout-Fehler in Anwendungsprotokollen
Schritt 1: I/O-Wait prüfen
# I/O-Wait mit top prüfen
top
# 'wa'-Spalte beachten — über 5% deutet auf ein Problem hin
# Sofortiger I/O-Status mit vmstat
vmstat 1 10
# Disk-Statistiken mit iostat
iostat -x 1 5
# %util über 80% bedeutet, die Disk ist gesättigt
Schritt 2: Welcher Prozess nutzt die Disk?
# Echtzeit-Disk-I/O-Überwachung mit iotop
sudo apt install iotop -y
sudo iotop -o
# Prozess-I/O mit pidstat
sudo apt install sysstat -y
pidstat -d 1 5
Schritt 3: Disk-Leistungstest
# Einfacher Schreibtest
dd if=/dev/zero of=/tmp/test_write bs=1M count=1024 oflag=direct
# Umfassender Test mit fio
sudo apt install fio -y
fio --name=randread --ioengine=libaio --iodepth=16 --rw=randread \
--bs=4k --direct=1 --size=1G --numjobs=4 --runtime=60 \
--group_reporting --filename=/tmp/fio_test
rm /tmp/fio_test /tmp/test_write
Schritt 4: Disk-Gesundheitsprüfung
# SMART-Status
sudo apt install smartmontools -y
sudo smartctl -a /dev/sda
# Disk-Fehler
dmesg | grep -i -E '(error|fail|bad|ata|scsi|disk)'
Wenn Reallocated_Sector_Ct oder Pending_Sector_Count größer als 0 ist, ist die Disk am Ausfallen. Sofort sichern.
Schritt 5: Dateisystem-Optimierung
# Festplattennutzung
df -h
# Protokolle bereinigen
sudo journalctl --vacuum-size=500M
# noatime in /etc/fstab hinzufügen
# UUID=xxx / ext4 defaults,noatime 0 1
# I/O-Scheduler für SSD
echo 'none' | sudo tee /sys/block/sda/queue/scheduler
Schritt 6: tmpfs zur I/O-Reduzierung
# tmpfs für /tmp
echo 'tmpfs /tmp tmpfs defaults,noatime,mode=1777,size=2G 0 0' | sudo tee -a /etc/fstab
sudo mount -a
Fazit
Um langsame Disk-I/O zu beheben, identifizieren Sie zunächst mit iotop und iostat, welcher Prozess die Disk belastet, und prüfen Sie dann den Disk-Zustand mit SMART. Dateisystem-Optimierungen (noatime, I/O-Scheduler) und tmpfs können die Leistung erheblich verbessern. Bei physischen Disk-Fehlern sichern Sie sofort und kontaktieren Sie den REXE-Support.
Verwandte Artikel
SSH-Verbindungsproblem: Keine Verbindung zum Server möglich
Anleitung zur Behebung von SSH-Verbindungsproblemen: Path.net Firewall-Regeln, Default Block, Filterregel für SSH-Port erstellen und Fehlerbehebungsschritte.
RDP-Verbindungsproblem: Keine Verbindung zu Windows Server
Anleitung zur Behebung von RDP-Verbindungsproblemen: Path.net Firewall-Regeln, Default Block, Filterregel für RDP-Port erstellen und Fehlerbehebungsschritte.
MTR-Test durchführen und Ergebnisse an Support senden
Anleitung zum Netzwerktest mit WinMTR und Linux MTR, ICMP-Filterregel erstellen und Ergebnisse an das Support-Team senden. Paketverlust und Latenz diagnostizieren.