avg-cpu: %user %nice %system %iowait %steal %idle
11.50 0.02 5.38 0.07 0.00 83.04
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sdc 0.01 89.92 0.26 41.59 3.36 457.19 22.01 0.23 5.60 0.09 0.38
sdb 0.10 15.59 0.40 14.55 8.96 120.57 17.33 0.04 2.91 0.07 0.11
sda 0.13 45.37 0.96 8.09 20.06 213.56 51.63 0.02 2.64 0.16 0.14
sde 0.01 31.83 0.09 11.34 0.94 103.56 18.29 0.04 3.52 0.14 0.16
sdd 0.01 48.01 0.13 19.81 1.58 202.16 20.44 0.11 5.62 0.13 0.25
Gibt es eine Möglichkeit zu wissen, welche Dateien geschrieben werden? 457 kB / s
Auch diese andere Linux-Maschine hat das gleiche Problem.
avg-cpu: %user %nice %system %iowait %steal %idle
20.50 0.00 46.48 20.74 0.00 12.28
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 0.17 11.61 0.99 3.51 36.65 59.43 42.70 0.10 23.20 3.84 1.73
sdb 0.55 224.18 24.30 97.45 246.48 1287.12 25.19 3.96 32.53 7.88 95.91
sdd 0.53 226.75 25.56 90.96 283.50 1271.69 26.69 3.43 29.44 8.22 95.75
sdc 0.00 1.76 0.28 0.06 4.73 7.26 70.41 0.00 12.00 2.12 0.07
dm-0 0.00 0.00 1.11 14.77 36.41 58.92 12.01 1.00 62.86 1.09 1.74
dm-1 0.00 0.00 0.04 0.12 0.17 0.49 8.00 0.00 21.79 2.47 0.04
dm-2 0.00 0.00 0.01 0.00 0.05 0.01 8.50 0.00 7.90 2.08 0.00
1200 Schreibanfragen pro Sekunde für einen Server, der nichts hostet
Es scheint, dass es keine Tools gibt, mit denen der E / A-Durchsatz pro Datei ermittelt werden kann, außer innerhalb des Prozesses, der die Datei verwendet. Es gibt jedoch Möglichkeiten, den E / A-Durchsatz des Prozesses zu ermitteln.
iotop - Dies ist ein Top / Iftop-ähnliches Dienstprogramm, das den E / A-Durchsatz des Prozesses anzeigt.
Nachdem Sie ermittelt haben, welcher Prozess über schwere E / A-Vorgänge verfügt, ermitteln Sie anhand der folgenden Schritte, welche Datei verwendet wird
Das sollte den Umfang einschränken und helfen, die Quelle zu lokalisieren.
quelle
iotop
nicht seiniostat
. Ich habe meine Antwort korrigiert.Mit
inotifywait
from können Sieinotify-tools
genau herausfinden, in welche Datei geschrieben wird. Dies sagt Ihnen nicht, wie viele Daten geschrieben werden, aber es sagt Ihnen zumindest, in welche Dateien geschrieben wird, wenn dies geschieht.Dieser Befehl gibt beispielsweise den Dateinamen aus, sobald eine Datei erstellt, geändert oder gelöscht wurde in
/tmp
:Leider müssen Sie raten, in welches Verzeichnis die Dateien geschrieben werden. Dies schlägt fehl, wenn Sie versuchen, es im Stammverzeichnis zu verwenden, obwohl dies anscheinend überschrieben werden kann:
quelle
Verwenden Sie systemtap, um jeden Schreib- / Schreib-Systemaufruf zu überwachen. Sie können etwas Buchhaltung machen und Sie werden sehen, welche Datei / fd die meisten Bytes bekommt.
quelle