Wie kann ich die Festplattenaktivität auf einem bestimmten Laufwerk überwachen?

35

Ich möchte die Festplattenaktivität auf meiner externen USB-Festplatte beobachten. Ich weiß, dass ich iotopdie Datenträger-E / A für jeden ausgeführten Prozess überwachen kann, aber gibt es eine Möglichkeit, eine Kennzahl pro Dateisystem zu ermitteln?

ændrük
quelle

Antworten:

19

dstat ist besser als iostat, um die Festplattenaktivität genau zu überwachen.

Ich führe den folgenden Befehl aus, während ich Dateien von einer Festplatte auf eine andere verschiebe

dstat -D sda,sdc

Weitere Informationen finden Sie auf dieser Seite

https://help.ubuntu.com/community/DiskPerformance

Mathieu J.
quelle
1
Sehr schön. Auf diese Weise kann ich jedoch nicht erkennen, welcher Prozess die E / A verursacht. Ich muss also entweder sehen, welcher Prozess (mit iotop) oder welches Gerät (mit dstat), aber nicht beide.
24.
Ich wünschte , wir könnten auch die Überwachung auf einen spezifischen Prozess begrenzen
matt
23

Ich bin in diesem Bereich nicht erfahren, aber ich denke an iostat . Sie können es mit dem sysstat- Paket installieren . Viel Glück!

Leon Nardella
quelle
6
Verwendungsbeispiel: iostat -d 10 /dev/sdaGibt die Io-Auslastung in Intervallen von 10 Sekunden an /dev/sda. Ich würde fast watch iostat -d /dev/sdaüber seine Intervall-Option verwenden. Bearbeiten: schlagen Sie mich, während ich tippte :)
Aperson
1
Ich habe gerade gelesen, dass die ersten gemeldeten Werte Statistiken von dem sind, was seit dem Systemstart aufgetreten ist. Es hat sich also herausgestellt, dass die Verwendung wenig sinnvoll ist watch. Kontinuierliches Reporting mit so etwas wie iostat -dk 10liefert aussagekräftigere Zahlen.
ændrük
Hmm ... ich mag es einfach nicht, dass es meinen gesamten Scrollback ausfüllt.
Aperson
Kurbeln
10

Die Verwendung iostataus dem sysstatPaket liefert eine einzelne Momentaufnahme der Ergebnisse seit dem Start. Bei Verwendung des intervall-Parameters werden die Ergebnisse nur für das letzte Intervall an die Ausgabe angehängt. Beispiel: iostat 10Zeigt zuerst die Werte für "seit dem Start" an und fügt dann alle 10 Sekunden die letzten 10 Sekunden der Statistik zur Ausgabe hinzu. Schließen Sie die -yOption ein, die erste Anzeige von Statistiken seit dem Start auszulassen, verstehen Sie jedoch, dass der Befehl für das angegebene Intervall inaktiv angezeigt wird, während das System den ersten Snapshot sammelt.

Ich habe festgestellt, dass dies am effektivsten ist, wenn es mit dem watchBefehl und dem Hinweis kombiniert wird , nur für ein einziges Statistikintervall zu erfassen. Beispiel: watch -t -n 0.1 iostat -d -t -y 5 1 Gibt alle 5,1 Sekunden eine Aktualisierung der Aktivitätsstatistik für die letzten 5 Sekunden aus. Optionen und Parameter aufschlüsseln ...

  • Der erste -tBefehl weist watch an, den Header wegzulassen. Dies soll die Verwechslung vermeiden, dass der Header andernfalls "Alle 0,1s" enthält, was nicht die Momentaufnahme der Daten darstellt.
  • Die -n 0.1Uhr wird angewiesen, den folgenden Befehl alle 0,1 Sekunden auszuführen. Dies ist das kleinste Überwachungsintervall (procps-ng 3.3.9), aber keine Sorge, der Befehl wird nicht alle 0,1 Sekunden ausgeführt. Der Befehl wird 0,1 Sekunden nach Abschluss der vorherigen Instanz ausgeführt.
  • Das -dweist iostat an, nur die Gerätenutzung anzuzeigen, da die Frage die Festplattenaktivität betraf. Um eine bestimmte Festplatte zu überwachen, kann der Gerätename auch vor den Intervallparametern eingefügt werden.
  • Der zweite -tSchalter weist iostat an, den Zeitpunkt der Aktualisierung in die Statistik aufzunehmen. Dies ist nützlich, da durch das frühere Weglassen des Watch-Headers die dortige Zeitanzeige entfernt wurde.
  • Der -ySchalter lässt den ersten Bildschirm der Statistik "seit dem Start" aus der Intervallanzeige aus. Ohne dies wäre das Ergebnis eine Anzeige der Statistiken seit der Startaktualisierung im Intervall des Überwachungsbefehls.
  • Das 5 1sind die iostat Intervall - Parameter. In diesem Fall erfassen Sie einmal 5 Sekunden lang Statistiken (die 1). Da die Option -y verwendet wurde, wird nur ein Bildschirm mit Daten angezeigt.

Es dauert 5 Sekunden, bis iostat die Daten erfasst hat, und wird dann in watch angezeigt. 0,1 Sekunden später löst watch den iostat-Befehl erneut aus. 5 Sekunden später ersetzen die neuen Daten die alten, die Uhr wartet 0,1 Sekunden, waschen, spülen, wiederholen ...

cpow
quelle
9

Versuche es mit nmon

sudo apt-get install nmon

Versuchen:

nmon

Ausgabe wie folgt:

Bildbeschreibung hier eingeben

Drücken Sie d = Festplatte. Drücken Sie c = CPU. Drücken Sie r = RAM. Drücken Sie v = Virtueller Speicher. Drücken Sie K = Netzwerk. Drücken Sie q oder x, um den Vorgang zu beenden

Ramesh Chand
quelle