Der iostat Der Befehl wird zum Überwachen der Belastung der Eingabe-/Ausgabegeräte des Systems verwendet, indem die Zeit beobachtet wird, in der die physischen Festplatten im Verhältnis zu ihren durchschnittlichen Übertragungsraten aktiv sind. Diese Informationen können verwendet werden, um die Systemkonfiguration zu ändern, um die Eingabe-/Ausgabelast zwischen physischen Laufwerken und Adaptern besser auszugleichen.
Unten sehen Sie eine Beispielausgabe, wenn Sie den Befehl iostat ohne Argumente ausführen.
# iostat Linux 3.10.0-514.2.2.el7.x86_64 (geeklab) 11/07/2017 _x86_64_ (128 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.36 0.00 1.07 0.24 0.00 98.32 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 17.26 8.80 242.60 3795176 104664988 sdb 0.52 5.66 36.17 2440242 15603348 sdc 0.02 0.34 0.00 147313 0 sdd 0.01 0.09 0.00 39527 0 sde 0.01 0.10 0.00 41189 0 sdf 0.01 0.09 0.00 39025 0 .....
Die erste Zeile zeigt die Version des Linux-Kernels, den Hostnamen, das aktuelle Datum, die Architektur und die Anzahl der CPUs auf Ihrem System an.
Der Bericht des Iostat-Dienstprogramms enthält die folgenden Abschnitte:
– CPU-Auslastung
– Geräteauslastung
Bericht zur CPU-Auslastung
Die nächsten beiden Zeilen zeigen CPU-Statistiken an. Bei Multiprozessorsystemen sind die CPU-Werte globale Durchschnittswerte aller Prozessoren. Die Spalten sind wie folgt definiert:
%Benutzer | Der Prozentsatz der verwendeten CPU beim Ausführen von Anwendungen auf Benutzerebene |
%schön | Der Prozentsatz der verwendeten CPU während der Ausführung auf Benutzerebene mit netter Priorität |
%system | Der Prozentsatz der während der Ausführung auf Systemebene (Kernel) verwendeten CPU |
%iowait | Der Prozentsatz der Zeit, in der die CPU(s) im Leerlauf waren, während das System eine ausstehende Festplatten-E/A-Anforderung hatte |
%stehlen | Der 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 | Der Prozentsatz der Zeit, in der die CPU (oder die CPUs) im Leerlauf waren und das System keine ausstehende Festplatten-E/A-Anforderung hatte |
Bericht zur Gerätenutzung
Die verbleibenden Zeilen im Beispiel zeigen Statistiken pro physischem Gerät oder pro Partition an. Sie können Blockgeräte und Partitionen als Argumente für den iostat-Befehl angeben. Wenn keine Argumente enthalten sind, zeigt der Bericht alle Geräte an, für die der Kernel Statistiken hat. Die Spalten sind wie folgt definiert:
Gerät | Geräte- oder Partitionsname wie im /dev-Verzeichnis aufgeführt |
tps | Anzahl der Übertragungen (E/A-Anforderungen) pro Sekunde, die an das Gerät ausgegeben wurden |
kB_read/s | Vom Gerät gelesene Datenmenge, ausgedrückt in Kilobyte pro Sekunde. |
kB_wrtn/s | Auf das Gerät geschriebene Datenmenge, ausgedrückt in Kilobyte pro Sekunde |
kB_read | Gesamtzahl der gelesenen Kilobyte |
kB_wrtn | Gesamtzahl der geschriebenen Kilobyte |
Detailliertere Statistiken können eingeschlossen werden, indem verschiedene Optionen für den iostat-Befehl bereitgestellt werden. Einige der Befehlszeilenoptionen sind aufgeführt:
-c | Zeigen Sie den CPU-Auslastungsbericht an. |
-d | Zeigen Sie den Gerätenutzungsbericht an. |
-m | Statistiken in Megabyte pro Sekunde anzeigen. |
-x | Erweiterte Statistiken anzeigen. |
Mehrere Berichte können in unterschiedlichen Intervallen ausgeführt werden, indem Intervall- und Anzahlargumente verwendet werden. Das folgende Beispiel zeigt 6 Berichte in 2-Sekunden-Intervallen für alle Geräte an:
# iostat –d 2 6
Beispiel für einen iostat-Befehl
Beispiel 1 – iostat-Befehl
Verwenden Sie den folgenden Befehl, um die Statistiken der CPU und der Auslastung des Eingabe-/Ausgabegeräts anzuzeigen:
# iostat Linux 3.10.0-693.21.1.el7.x86_64 (jamiericho1.mylabserver.com) 03/16/2018 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 5.90 0.00 2.60 1.76 2.87 86.87 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn xvda 68.90 947.14 1117.86 340222 401546 xvdf 2.76 55.51 0.00 19940 0
Die erste Ausgabe von iostat ist die Summe der Informationen seit dem Systemstart. Wir haben kein Intervall für die Ausführung des iostat-Befehls angegeben, daher zeigt er standardmäßig zusammenfassende Informationen seit dem Systemstart an.
Beispiel 2 – Iostat mit Intervall
Um einen Trend in der Statistik zu sehen oder die Statistik kontinuierlich in regelmäßigen Abständen anzuzeigen, verwenden Sie den Befehl iostat mit bereitgestelltem Intervall. Zum Beispiel, um Statistiken alle 5 Sekunden zu melden:
# iostat 5
Sie können auch die Anzahl der zu erstellenden Statistiken begrenzen, indem Sie eine Anzahl von Intervallen angeben. Zum Beispiel, um den iostat-Befehl in einem Intervall von 5 Sekunden mit nur 3 Intervallen auszuführen:
# iostat 5 3
Beispiel 3 – Nur CPU-Statistiken anzeigen
Um nur die CPU-Statistiken des Systems anzuzeigen, verwenden Sie das „-c ” Option mit iostat.
# iostat -c Linux 3.10.0-693.21.1.el7.x86_64 (jamiericho1.mylabserver.com) 03/16/2018 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 2.64 0.00 1.20 0.78 1.34 94.03
Beispiel 4 – Festplattenstatistik anzeigen
Eine weitere nützliche Option zur Verwendung mit iostat ist „-d “, der nur die Festplattenstatistik des Systems anzeigt.
# iostat -d Linux 3.10.0-693.21.1.el7.x86_64 (jamiericho1.mylabserver.com) 03/16/2018 _x86_64_ (1 CPU) Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn xvda 28.82 389.03 465.87 340222 407421 xvdf 1.14 22.80 0.00 19940 0
Beispiel 5 – Erweiterte Statistiken anzeigen
Um eine erweiterte Statistik mit iostat anzuzeigen, verwenden Sie das „-x " Möglichkeit. Zum Beispiel
# iostat -x Linux 3.10.0-693.21.1.el7.x86_64 (jamiericho1.mylabserver.com) 03/16/2018 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 1.52 0.00 0.71 0.45 0.83 96.50 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util xvda 0.03 1.57 11.38 6.75 242.60 288.58 58.59 0.17 9.13 0.91 23.00 0.42 0.76 xvdf 0.00 0.00 0.70 0.00 14.10 0.00 40.16 0.00 2.84 2.84 0.00 2.15 0.15
Beispiel 6 – Kombination verschiedener Optionen
Sie können immer mehrere Optionen aus den oben gezeigten Beispielen kombinieren. Damit können Sie einen erweiterten Festplattenauslastungsbericht in einem Intervall von 2 Sekunden für 3 Intervalle anzeigen, wie im Beispiel unten gezeigt.
# iostat -xdt 2 3 Linux 3.10.0-693.21.1.el7.x86_64 (jamiericho1.mylabserver.com) 03/16/2018 _x86_64_ (1 CPU) 03/16/2018 04:57:55 AM Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util xvda 0.03 1.45 10.47 6.23 223.11 265.50 58.53 0.15 9.12 0.91 22.93 0.42 0.70 xvdf 0.00 0.00 0.65 0.00 12.96 0.00 40.16 0.00 2.84 2.84 0.00 2.15 0.14 03/16/2018 04:57:57 AM Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util xvda 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 xvdf 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 03/16/2018 04:57:59 AM Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util xvda 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 xvdf 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
Hier
-t – den Zeitstempel des Intervalls anzeigen