Der Iostat-Befehl wird verwendet Überwachen Sie die Last der Eingabe-/Ausgabegeräte (E/A) des Systems, indem Sie die Zeit beobachten, in der die Geräte aktiv sind, im Verhältnis zu ihren durchschnittlichen Übertragungsraten. Der iostat erstellt Berichte, die verwendet werden können, um die Systemkonfiguration zu ändern, um die Eingabe/Ausgabe zwischen physischen Festplatten besser auszugleichen.
Iostat ist in sysstat enthalten Paket. Iostat ist standardmäßig in den meisten Linux-Distributionen installiert.
Wenn Sie es nicht haben, müssen Sie es zuerst installieren.
Auf RedHat / CentOS / Fedora
$ yum install sysstat
Auf Debian / Ubuntu / Linux Mint
$ apt-get install sysstat
Wenn der Befehl ohne Argumente ausgeführt wird, generiert er einen detaillierten Bericht mit Informationen seit dem Systemstart . Sie können zwei optionale Parameter angeben, um dies zu ändern:
iostat [option] [interval] [count]
- Intervall Der Parameter gibt die Zeitdauer in Sekunden zwischen den einzelnen Berichten an
- Zählen Mit dem Parameter können Sie die Anzahl der Berichte angeben, die generiert werden, bevor iostat beendet wird.
Wenn der Befehl zum ersten Mal mit diesen Argumenten ausgeführt wird, enthält der erste Bericht Informationen seit dem Systemstart, während jeder nachfolgende Bericht den Zeitraum abdeckt seit der letzte Bericht erstellt wurde.
$ iostat 2 3
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 05/23/2017 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.65 0.00 0.18 0.02 0.00 99.15
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.88 4.29 7.07 217829 358600
avg-cpu: %user %nice %system %iowait %steal %idle
1.01 0.00 0.50 0.00 0.00 98.49
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.50 0.00 2.01 0 4
avg-cpu: %user %nice %system %iowait %steal %idle
3.00 0.00 0.50 0.00 0.00 96.50
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 1.00 0.00 30.00 0 60
1. Bericht und Statistik erhalten
iostat zeigt standardmäßig ohne Option statistische Berichte an, die aus CPU und Geräten bestehen.
$ iostat
Ausgabe:
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 05/22/2017 _x86_64 (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.69 0.00 0.19 0.02 0.04 99.08
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 1.00 3.40 14.08 1552428 6423128
Der erste Abschnitt enthält den CPU-Bericht
- %user : Prozentsatz der CPU-Auslastung, die während der Ausführung auf Benutzerebene (Anwendungsebene) aufgetreten ist
- %nett : Prozentsatz der CPU-Auslastung, der während der Ausführung auf Benutzerebene mit netter Priorität aufgetreten ist
- %system : Prozentsatz der CPU-Auslastung, die während der Ausführung auf System-(Kernel-)Ebene aufgetreten ist
- %iowait : Prozentsatz der Zeit, in der die CPU oder die CPUs im Leerlauf waren, während der das System eine ausstehende Festplatten-E/A-Anforderung hatte
- %stehlen : Prozentsatz der Zeit, die von der virtuellen CPU oder den virtuellen CPUs mit unfreiwilligem Warten verbracht wurde, während der Hypervisor einen anderen virtuellen Prozessor bediente
- %idle : Prozentsatz der Zeit, in der die CPU oder die CPUs im Leerlauf waren und das System keine ausstehende Festplatten-E/A-Anforderung hatte
Der zweite Abschnitt enthält den Gerätenutzungsbericht
- Gerät : Geräte-/Partitionsname wie in /dev aufgeführt Verzeichnis
- tps : Anzahl der Übertragungen pro Sekunde, die an das Gerät gesendet wurden. Höhere tps bedeutet, dass der Prozessor ausgelastet ist
- Blk_read/s : zeigen die vom Gerät gelesene Datenmenge, ausgedrückt in einer Anzahl von Blöcken (Kilobyte, Megabyte) pro Sekunde
- Blk_wrtn/s : Datenmenge, die auf das Gerät geschrieben wird, ausgedrückt in einer Anzahl von Blöcken (Kilobyte, Megabyte) pro Sekunde
- Blk_read : Zeigt die Gesamtzahl der gelesenen Blöcke an
- Blk_wrtn : zeigt die Gesamtzahl der geschriebenen Blöcke
iostat verwendet die folgenden Dateien zum Erstellen von Berichten:
/proc/stat
enthält Systemstatistiken./proc/uptime
enthält die Systemverfügbarkeit./proc/diskstats
enthält Festplattenstatistiken./sys
enthält Statistiken für Blockgeräte./proc/self/mountstats
enthält Statistiken für Netzwerkdateisysteme./dev/disk
enthält persistente Gerätenamen.
2. Mehr Details Statistikinformationen anzeigen
Iostat-Befehl gibt I/O-Geräten Bericht über die Nutzung. Mit der Option -x
ist es möglich, das Statistikergebnis für eine Diagnose in die Tiefe zu erweitern .
$ iostat -x
Ausgabe:
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 05/23/2017 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.69 0.00 0.19 0.02 0.04 99.06
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.01 1.10 0.16 0.84 3.37 14.04 34.88 0.00 2.35 1.41 2.53 0.40 0.04
- avg-cpu: es ist die CPU-Block-Information
- Teilen: es handelt sich um Geräteblockinformationen. Um sicherzugehen, dass Sie auf dem guten Gerät sind
- %util :Wie viel Zeit hatte das Speichergerät noch ausstehende Arbeit (war ausgelastet).
- svctm :Geben Sie an, wie schnell Ihr I/O-Subsystem insgesamt auf Anfragen antwortet, wenn es beschäftigt ist. Je weniger Sie Ihr System belasten, desto höher ist svctm.
- warten :gibt an, wie schnell Anfragen bearbeitet werden. Es ist nur ein Durchschnitt.
- avgqu-sz :wie viele Anfragen gibt es in einer Anfragewarteschlange. Niedrig =Ihr System ist entweder nicht geladen oder hat serialisierte E/A und kann den zugrunde liegenden Speicher nicht richtig nutzen. Hoch =Ihr Software-Stack ist skalierbar genug, um die zugrunde liegenden I/O richtig zu laden.
- avgrq-sz :Nur eine durchschnittliche Anforderungsgröße. kann angeben, welche Art von Arbeitslast passiert.
- wsec/s &rsec/s :Gelesene und geschriebene Sektoren pro Sekunde. Teilen Sie durch 2048, und Sie erhalten Megabyte pro Sekunde.
- r/s &w/s :Lese- und Schreibanfragen pro Sekunde. Diese Zahlen sind diejenigen, die die E/A-Kapazität darstellen, obwohl sie natürlich variieren können, je nachdem, wie viel Druck das zugrunde liegende E/A-Subsystem erhält (Warteschlangengröße!).
- rrqm/s &wrqm/s :Wie viele Anfragen wurden nach Blockebene zusammengeführt.
3. Nur die CPU-Statistik anzeigen
Es ist möglich, mit -c
statistische Informationen und Berichte unserer CPU anzuzeigen Möglichkeit
$ iostat -c
Ausgabe:
Linux 4.4.0-78-generic (shinigami) 05/23/2017 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
12.93 0.08 2.40 3.35 0.00 81.24
4. Nur den Gerätebericht anzeigen
Mit -d
ist es möglich, nur den Status der Geräteauslastung anzuzeigen Möglichkeit. Es listet Informationen für jedes angeschlossene Gerät auf.
$ iostat -d
Ausgabe:
Linux 4.4.0-78-generic (shinigami) 05/23/2017 _x86_64_ (4 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 17.73 510.80 632.10 5127420 6345037
mmcblk0 0.03 0.63 0.00 6282 0
5. Erweiterte E/A-Statistik nur für Gerät anzeigen
Wir können auf der einen Seite erweiterte Statistiken anzeigen und auf der anderen Seite können wir erweiterte Statistiken anzeigen. Das bedeutet, dass wir erweiterte Statistiken nur für Geräte mit der Option -xd
anzeigen können .
$ iostat -xd
Ausgabe:
$ iostat -xd
Linux 4.4.0-78-generic (shinigami) 05/23/2017 _x86_64_ (4 CPU)
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.48 25.33 8.43 7.81 417.06 540.42 117.88 1.18 72.83 35.98 112.62 6.18 10.03
mmcblk0 0.30 0.00 0.02 0.00 0.49 0.00 49.47 0.00 3.73 3.73 4.00 2.99 0.01
6. Erfassen Sie die Statistiken in Kilobyte oder Megabyte
Standardmäßig misst iostat das E/A-System mit der Byte-Einheit. Um es leichter lesbar zu machen, können wir iostat umwandeln, um uns Berichte in Kilobyte- oder Megabyte-Einheiten anzuzeigen.
Fügen Sie einfach die Option -k
hinzu Berichte mit Kilobyte-Einheit zu erstellen.
$ iostat -k
Ausgabe:
Linux 4.4.0-78-generic (shinigami) 05/23/2017 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
12.54 0.08 2.37 3.41 0.00 81.61
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 16.18 345.76 504.55 5622164 8204113
mmcblk0 0.02 0.39 0.00 6282 0
Die Option -m
um Berichte mit Megabyte-Einheit zu erstellen.
$ iostat -m
Linux 4.4.0-78-generic (shinigami) 05/23/2017 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
12.54 0.08 2.37 3.41 0.00 81.61
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 16.18 0.34 0.49 5490 8012
mmcblk0 0.02 0.00 0.00 6 0
7. CPU- und Gerätestatistiken mit Verzögerung anzeigen
Dasselbe gilt für vmstat, als Statistiktool ist es am besten mit dem Verzögerungsparameter zu verwenden. Mit der Verzögerung können wir sehen, was der Trend ist. Hier sind einige Beispiele, um Iostat mit Verzögerung auszuführen.
Iostat mit Kilobyte-Einheit ausführen, 2-Sekunden-Intervall mit 3-fachen Berichten.
$ iostat -k 2 3
Ausgabe:
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 05/23/2017 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.70 0.00 0.19 0.02 0.03 99.05
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 1.00 3.33 14.03 1561788 6572152
avg-cpu: %user %nice %system %iowait %steal %idle
0.50 0.00 0.00 0.00 0.00 99.50
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.00 0.00 0.00 0 0
avg-cpu: %user %nice %system %iowait %steal %idle
3.52 0.00 0.50 0.00 0.00 95.98
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 1.51 0.00 12.06 0 24
Um nur einen CPU-Bericht mit 2-Sekunden-Intervall und 2-Zeit-Berichten anzuzeigen, geben Sie Folgendes ein:
$ iostat -c 2 2
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 05/23/2017 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.71 0.00 0.19 0.02 0.03 99.05
avg-cpu: %user %nice %system %iowait %steal %idle
1.50 0.00 0.00 0.00 0.00 98.50
Um nur sda6- und sda7-Geräteberichte mit 2-Sekunden-Intervall und 2-mal-Berichten anzuzeigen, führen Sie Folgendes aus:
$ iostat -d sda7 sda6 2 2
Ausgabe:
Linux 4.4.0-78-generic (shinigami) 05/23/2017 _x86_64_ (4 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda6 3.40 108.29 130.75 1928577 2328496
sda7 12.19 211.96 305.79 3774804 5445696
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda6 0.00 0.00 0.00 0 0
sda7 1.00 0.00 24.00 0 48
8. Dauerhafte Statistiken zu Gerätenamen anzeigen
Es ist möglich, den Bericht nach Gerätename zu drucken. Anstelle des Standard /dev/sda
Name, wird der dauerhafte Gerätename mit der Option -j
ausgegeben und Hinzufügen von ID
Schlüsselwort (geben Sie den Typ des persistenten Namens an).
$ iostat -j ID mmcbkl0 sda6 -x -m 2 2
Ausgabe:
Linux 4.4.0-78-generic (shinigami) 05/23/2017 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
14.33 0.10 2.48 3.26 0.00 79.83
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
ata-ST500LT012-1DG142_S3P4312X-part6
0.19 0.88 2.51 0.82 0.10 0.12 138.36 0.21 61.81 57.12 76.12 10.81 3.60
avg-cpu: %user %nice %system %iowait %steal %idle
19.40 0.00 1.25 0.63 0.00 78.72
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
ata-ST500LT012-1DG142_S3P4312X-part6
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
9. Zeigen Sie Statistiken für Blockgeräte
anEs ist möglich, Informationen für jedes Blockgerät automatisch direkt anzuzeigen. Es ist nicht erforderlich, jeden Gerätenamen anzugeben. Es zeigt Statistiken für Blockgeräte und alle ihre Partitionen an, die vom System verwendet werden. Wenn ein Gerätename in der Befehlszeile eingegeben wird, werden Statistiken für ihn und alle seine Partitionen angezeigt. Verwenden Sie einfach -p
Möglichkeit
$ iostat -p
Ausgabe:
Linux 4.4.0-78-generic (shinigami) 05/23/2017 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
14.93 0.10 2.51 3.19 0.00 79.28
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 15.82 297.18 474.87 5928512 9473117
sda1 0.00 0.11 0.00 2108 0
sda2 0.01 0.28 0.00 5679 1
sda3 0.00 0.10 0.00 2084 0
sda4 0.00 0.10 0.00 2092 0
sda5 0.09 0.77 45.62 15428 910068
sda6 3.26 102.76 117.09 2049957 2335908
sda7 12.09 192.75 306.99 3845120 6124136
sda8 0.12 0.20 5.16 3896 103004
mmcblk0 0.01 0.31 0.00 6282 0
mmcblk0p1 0.01 0.26 0.00 5242 0
$ iostat -p sdf 1 2
Linux 3.10.0-514.16.1.el7.x86_64 (centos7-srv) 05/23/2017 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
7.18 0.41 3.94 4.10 0.00 84.37
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdf 0.47 3.54 0.00 4656 0
sdf1 0.09 0.70 0.00 920 0
sdf2 0.09 0.69 0.00 904 0
sdf3 0.09 0.69 0.00 904 0
sdf4 0.09 0.69 0.00 904 0
avg-cpu: %user %nice %system %iowait %steal %idle
6.00 1.00 2.00 0.00 0.00 91.00
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdf 0.00 0.00 0.00 0 0
sdf1 0.00 0.00 0.00 0 0
sdf2 0.00 0.00 0.00 0 0
sdf3 0.00 0.00 0.00 0 0
sdf4 0.00 0.00 0.00 0 0
10. Zeigen Sie lvm2-Statistikinformationen an
Es ist möglich, LVM-Statistiken mit der Option -N
anzuzeigen . Der Befehl zeigt die registrierten Device-Mapper-Namen für alle Device-Mapper-Geräte an.
$ iostat -N
Schlussfolgerung
Mit -z
können wir iostat anweisen, die Ausgabe für alle Geräte auszulassen, für die während des Abtastzeitraums keine Aktivität stattgefunden hat Option.
Einer der Vorteile dieses Tools ist, dass Sie es ohne Root-Rechte ausführen können. Sie können tiefer graben, indem Sie die Handbuchseite von iostat durchsuchen, indem Sie man iostat eingeben in Ihrer Konsole, um die Iostat-Handbuchseite aufzurufen.
Lesen Sie auch:
- Überwachen der Linux-Leistung mit dem Sar-Befehl
- 14 Befehlszeilentools zum Überprüfen der CPU-Auslastung in Linux