GNU/Linux >> LINUX-Kenntnisse >  >> Linux

10 Linux iostat Befehl zum Melden von CPU- und E/A-Statistiken

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

an

Es 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

Linux
  1. E/A-Berichte über die Linux-Befehlszeile

  2. mkdir- und rmdir-Befehlsbeispiele unter Linux

  3. Beispiele für die Befehle swapon und swapoff in Linux

  4. Ports für Linux und E/A-Abschluss?

  5. Auswertung der CPU-E/A-Wartezeiten unter Linux

iostat-Befehl unter Linux

So überprüfen Sie die CPU-Informationen in Linux

So installieren und verwenden Sie den fd-Befehl unter Linux

Befehlsoptionen und Beispiele für den Tee-Befehl in Linux

Eine Anleitung zum vmstat-Befehl in Linux

iostat-Befehlsbeispiele in Linux