iostat
ist Teil des sysstat
Pakets, das auf Wunsch die gesamten iops anzeigen oder durch Lese- / Schreibvorgänge getrennt anzeigen kann.
Führen Sie iostat
den Befehl mit dem Flag -d aus, um nur die Geräteinformationsseite anzuzeigen, und mit -x, um detaillierte Informationen anzuzeigen (separate Lese- / Schreibstatistiken). Sie können das Gerät angeben, für das Sie Informationen benötigen, indem Sie es anschließend in der Befehlszeile hinzufügen.
Versuchen Sie, iostat -dx
die Zusammenfassung aufzurufen und zu betrachten, um ein Gefühl für die Ausgabe zu bekommen. Sie können auch verwenden iostat -dx 1
, um eine kontinuierlich aktualisierte Ausgabe anzuzeigen, die für die Fehlerbehebung oder die Live-Überwachung hilfreich ist.
Wenn Sie verwenden awk
, erhalten Sie in Feld 4 Lesevorgänge pro Sekunde und in Feld 5 Schreibvorgänge pro Sekunde .
Liest nur / Sekunde:
iostat -dx <your disk name> | grep <your disk name> | awk '{ print $4; }'
Schreibt nur / Sek .:
iostat -dx <your disk name> | grep <your disk name> | awk '{ print $5; }'
Liest / s und schreibt / s mit einem Schrägstrich getrennt:
iostat -dx <your disk name> | grep <your disk name> | awk '{ print $4"/"$5; }'
Gesamte IOPS (worüber die meisten Leute sprechen):
iostat -d <your disk name> | grep <your disk name> | awk '{ print $2; }'
Das Ausführen des letzten Befehls mit meinem Hauptlaufwerk / dev / sda sieht beispielsweise folgendermaßen aus:
dan@daneel ~ $ iostat -dx sda | grep sda | awk '{ print $4"/"$5; }'
15.59/2.70
Beachten Sie, dass Sie auch nicht als Root angemeldet sein müssen, um dies auszuführen. Dies ist daher nützlich für nicht privilegierte Benutzer.
TL; DR: Wenn Sie nur daran interessiert sind sda
, erhalten Sie mit dem folgenden Befehl die Gesamt-IOPS für sda
:
iostat -d sda | grep sda | awk '{ print $2; }'
Wenn Sie die IOPS für alle Geräte addieren möchten , können Sie awk erneut verwenden:
iostat -d | tail -n +4 | head -n -1 | awk '{s+=$2} END {print s}'
Dies erzeugt eine Ausgabe wie folgt:
dan@daneel ~ $ iostat -d | tail -n +4 | head -n -1 | awk '{s+=$2} END {print s}'
18.88