Massiver, unvorhersehbarer E / A-Leistungsabfall unter Linux

11

Ich verwende Debian-Tests seit ~ 6 Jahren ohne Probleme (ich aktualisiere sie nur regelmäßig), aber seit kurzem zeigt es ein zufälliges Verhalten, das als "Niedrige E / A-Leistung, die bis zum Neustart bestehen bleibt" zusammengefasst werden kann.

Das Problem ist, dass plötzlich alle Lese- und Schreibvorgänge auf ~ 5 MB / s verlangsamt werden, was zu kontinuierlichem Lesen und Schreiben führt. Da die Rate so niedrig ist, werden Festplatten nicht mechanisch herausgefordert oder belastet, 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-Festplatten. Die SSD enthält einen leselastigen Teil des Betriebssystems und eine Partition auf der Festplatte enthält den Rest.

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

  • top zeigt weder bei der CPU- noch bei der E / A-Nutzung außer Kontrolle geratene Aktivitäten an.
  • hdparmGibt normale Leistungsbewertungen der Festplatten zurück (ich habe dies jedoch nur überprüft -t).
  • smartctlzeigt keine Leistungsprobleme in Festplatten. Lange Tests haben gezeigt, dass die Festplatten so gut wie neu sind.

Das System verfügt über einen Z77-Chipsatz, 16 GB RAM und eine Intel i7 3770K-CPU. Die Statistiken zeigen keine Anzeichen einer Sättigung des RAM, der E / A oder der CPU, aber ich habe keine Erfahrung damit, solche Probleme zu beheben (insbesondere im Kernel-Bereich). Jede Hilfe wird geschätzt.

Update 1:

  • Ich habe vorsichtshalber fsck auf jeder Partition ausgeführt (erzwungen). Alle FS sind sauber.
  • Ich habe übrigens ein BIOS-Upgrade gefunden, das vor einem Monat veröffentlicht und angewendet wurde.
  • Keine Partition ist zu mehr als 50% gefüllt.

Update 2:

Das Problem tritt zwei Tage lang nicht auf. Entweder fsckoder das BIOS-Update hat einige Verstopfungen im System beseitigt. Ich verfolge das Problem immer noch und werde die Frage mit einer Post-Mortem-Antwort schließen.

Update 3:

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

Bayindirh
quelle
1
Ein Fragmentierungsproblem atopkönnte Ihnen sagen, wie beschäftigt die Festplatten sind (wie bei der ständigen Suche).
Stéphane Chazelas
1
Deaktivieren Sie NCQ und setzen Sie den E / A-Scheduler auf, um einige Macken auszuschließen noop.
Frostschutz
1
"Niedrige E / A-Leistung, die bis zum Neustart anhält" kann ein defektes / fehlerhaftes Gerät sein, das den Bus zu oft zu lange belegt, was unglaublich schwer zu diagnostizieren ist, wenn die Hardware nicht ausgetauscht wird.
Msw
1
Dann wäre das nächste, was ich auf meiner Website überprüfen müsste, die Protokolle auf Fehler zu überprüfen und zu überprüfen, ob den Puffern / dem Cache genügend Speicher zugewiesen ist (siehe Ausgabe von free)
Symcbean
1
Möglicherweise können Sie iowaitusw. sehen, wenn Sie Sar-Daten erfassen. Ich würde aktivieren, sysstatwenn es nicht bereits ausgeführt wird. Sie können bei den sar -Ameisten Plattformen überprüfen, ob die Probenintervalle zehn Minuten betragen.
Bratchley

Antworten:

12

Ich konnte das Problem erneut reproduzieren und es war das Ergebnis eines großen Festplatten-Cache. Meine Festplatten-Caches können mehr als 8 GB groß werden und scheinen einigen Anwendungen nicht zu gefallen, und die E / A leiden darunter.

Das Löschen von Festplatten-Caches mit echo 3 > /proc/sys/vm/drop_cachesals Root behebt das Problem. Ich weiß derzeit nicht, warum große Festplatten-Caches diese E / A-Verschlechterung verursachen.

Letztes Update: Nach weiteren Untersuchungen habe ich herausgefunden, dass die Anzahl der Dateien im Cache das Problem ausgelöst hat. Beim Versuch, viele kleine Dateien wieder auf die Festplatte zu übertragen, wurden die Festplatten verworfen. Da ich das System zehn Jahre lang verwendet habe, habe ich den Sprung gewagt und es mit 64-Bit-Debian neu installiert. Jetzt funktioniert es reibungslos. Es war wahrscheinlich ein Nebeneffekt von zehn Jahren Upgrade mit dem Finden von Grenzen des 32-Bit-Betriebssystems.

Bayindirh
quelle
2

Gibt es verdächtige Nachrichten dmesg?

Weitere Tools, mit denen Sie versuchen könnten, Einblicke in die Engpässe Ihres Systems zu gewinnen:

  • dstat
  • Latenzzeit
  • sysprof
Elias Probst
quelle
Nichts Verdächtiges in irgendwelchen Protokollen. TBH keine Protokolleinträge im Zusammenhang mit diesem Problem. Ich werde die Werkzeuge trotzdem ausprobieren. Es sollte keinen Engpass in einem High-End-PC geben, wenn Sie im Leerlauf sitzen, ohne dass etwas darauf läuft. Ich denke, ein Cache oder etwas, das mit dem E / A-Subsystem zusammenhängt, geht schief.
Bayindirh
.... und iotop, fio
symcbean