Massiver, unvorhersehbarer I/O-Leistungsabfall unter Linux

Massiver, unvorhersehbarer I/O-Leistungsabfall unter Linux

Ich verwende Debian Testing seit etwa 6 Jahren ohne Probleme (ich aktualisiere es lediglich regelmäßig), aber seit Kurzem zeigt es ein zufälliges Verhalten, das sich wie folgt zusammenfassen lässt: „Geringe E/A-Leistung, die bis zum Neustart anhält.“

Das Problem ist, dass sich alle Lese- und Schreibvorgänge auf der Festplatte plötzlich auf ca. 5 MB/s verlangsamen, was zu kontinuierlichem Lesen und Schreiben führt. Da die Rate so niedrig ist, werden die Festplatten mechanisch nicht beansprucht oder überlastet, aber alles verlangsamt sich, bis ich neu starte.

Das E/A-Subsystem des Computers besteht aus einer OCZ Vertex 3 SSD und zwei WD Caviar Black HDDs. Die SSD enthält den leseintensiven Teil des Betriebssystems und eine Partition auf der HDD den Rest.

Um das Problem zu diagnostizieren, habe ich Folgendes erfolglos versucht:

  • topzeigt weder bei der CPU- noch bei der E/A-Auslastung eine außer Kontrolle geratene Aktivität.
  • hdparmgibt normale Leistungsbewertungen der Festplatten zurück (ich habe es -tallerdings nur überprüft).
  • smartctlzeigt keine Leistungsprobleme bei den Festplatten. Lange Tests haben gezeigt, dass die Festplatten so gut wie neu sind.

Das System hat einen Z77-Chipsatz, 16 GB RAM und eine Intel i7 3770K CPU und die Statistiken zeigen keine Anzeichen von Sättigung bei RAM, I/O oder CPU, aber ich habe keine Erfahrung mit der Fehlerbehebung solcher Probleme (insbesondere im Kernel-Speicher). Jede Hilfe ist willkommen.

Aktualisierung 1:

  • Ich habe vorsichtshalber auf jeder Partition fsck ausgeführt (erzwungen). Alle FS sind sauber.
  • Zufällig habe ich ein BIOS-Upgrade gefunden, das vor einem Monat herauskam, und es angewendet.
  • Keine Partition ist zu mehr als 50 % gefüllt.

Aktualisierung 2:

Das Problem tritt erst nach zwei Tagen auf. Entweder fsckhat das BIOS-Update einige Blockaden im System beseitigt. Ich beobachte das Problem weiterhin und werde die Frage mit einer Post-Mortem-Antwort schließen.

Aktualisierung 3:

Das Problem ist gerade wieder aufgetaucht und ich habe noch ein bisschen nachgeforscht. Bitte lesen Sie die Antwort.

Antwort1

Ich konnte das Problem erneut reproduzieren und es war das Ergebnis eines großen Festplattencaches. Meine Festplattencaches können mehr als 8 GB groß werden und es scheint, dass einige Anwendungen das nicht mögen und die E/A darunter leidet.

Das Löschen von Festplattencaches echo 3 > /proc/sys/vm/drop_cachesals Root behebt das Problem. Ich weiß derzeit nicht, warum große Festplattencaches diese I/O-Verschlechterung verursachen.

Letztes Update:Nach weiteren Untersuchungen habe ich herausgefunden, dass die Anzahl der Dateien im Cache das Problem auslöste. Es zerstörte die Festplatten beim Versuch, viele kleine Dateien wieder auf die Festplatte zu übertragen. Da ich das System zehn Jahre lang benutzte, habe ich den Schritt gewagt und es mit 64-Bit-Debian neu installiert. Jetzt funktioniert es reibungslos. Es war wahrscheinlich eine Nebenwirkung von zehn Jahren Upgrade-Arbeit mit dem Finden der Grenzen des 32-Bit-Betriebssystems.

Antwort2

Sind darin verdächtige Nachrichten enthalten dmesg?

Mit den folgenden weiteren Tools können Sie Einblicke in die Engpässe Ihres Systems gewinnen:

  • dstat
  • Latenztop
  • sysprof

verwandte Informationen