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

E/A-Berichte über die Linux-Befehlszeile

Wenn Sie meine Posts hier bei Enable Sysadmin verfolgt haben, wissen Sie, dass ich zuvor als Storage Support Engineer gearbeitet habe. Eine meiner vielen Aufgaben in dieser Rolle bestand darin, Kunden dabei zu helfen, Backups aus ihren Produktionsumgebungen auf dedizierte Backup-Speicher-Arrays zu replizieren. Oftmals kontaktierten mich Kunden, die besorgt über die Geschwindigkeit der Datenübertragung von der Produktion zum Speicher waren.

Nun, wenn Sie jemals im Support gearbeitet haben, wissen Sie, dass es viele Ursachen für ein Symptom geben kann. Der Durchsatz eines Systems kann jedoch enorme Auswirkungen auf massive Datenübertragungen haben. Wenn alles in Ordnung ist, reden wir stundenlang, wenn nicht... Ich habe gesehen, dass ein einziger Replikationsjob Monate dauert.

Wir wissen, dass Linux voller hilfreicher Tools für alle möglichen Probleme ist. Zur Ein-/Ausgabeüberwachung verwenden wir den iostat Befehl. iostat ist ein Teil von sysstat Paket und wird standardmäßig nicht auf allen Distributionen geladen.

Installation und Basisbetrieb

Ich verwende hier Red Hat Enterprise Linux 8 und habe die Installationsausgabe unten eingefügt.

[ Möchten Sie Red Hat Enterprise Linux ausprobieren? Laden Sie es jetzt kostenlos herunter. ]

HINWEIS :Der Befehl wird nach der Installation automatisch ausgeführt.

[root@rhel ~]# iostat
bash: iostat: command not found...
Install package 'sysstat' to provide command 'iostat'? [N/y] y
    
    
 * Waiting in queue... 
The following packages have to be installed:
lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64    Lm_sensors core libraries
sysstat-11.7.3-2.el8.x86_64    Collection of performance monitoring tools for Linux
Proceed with changes? [N/y] y
    
    
 * Waiting in queue... 
 * Waiting for authentication... 
 * Waiting in queue... 
 * Downloading packages... 
 * Requesting data... 
 * Testing changes... 
 * Installing packages... 
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test)     06/17/2020     _x86_64_    (4 CPU)
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.17    0.05    4.09    0.65    0.00   83.03
    
Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda             206.70      8014.01      1411.92    1224862     215798
sdc               0.69        20.39         0.00       3116          0
sdb               0.69        20.39         0.00       3116          0
dm-0            215.54      7917.78      1449.15    1210154     221488
dm-1              0.64        14.52         0.00       2220          0

Wenn Sie den Basisbefehl ohne Optionen ausführen, wird iostat Zeigt Informationen zur CPU-Auslastung an. Es zeigt auch E/A-Statistiken für jede Partition auf dem System an. Die Ausgabe umfasst Gesamtwerte sowie Werte pro Sekunde für Lese- und Schreibvorgänge. Beachten Sie außerdem, dass die tps Feld ist die Gesamtzahl der Übertragungen pro Sekunde an ein bestimmtes Gerät ausgegeben.

Die praktische Anwendung ist folgende:Wenn Sie wissen, welche Hardware verwendet wird, dann wissen Sie, in welchen Parametern sie arbeiten sollte. Kombinieren Sie dieses Wissen einmal mit der Ausgabe von iostat , können Sie entsprechende Änderungen an Ihrem System vornehmen.

Intervallläufe

Bei der Fehlersuche oder Datenerfassung kann es hilfreich sein, einen Bericht in bestimmten Intervallen ausführen zu lassen. Führen Sie dazu den Befehl mit dem Intervall (in Sekunden) am Ende aus:

[root@rhel ~]# iostat -m 10
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test)     06/17/2020     _x86_64_    (4 CPU)
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.94    0.05    0.35    0.04    0.00   98.62
    
Device             tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda              12.18         0.44         0.12       1212        323
sdc               0.04         0.00         0.00          3          0
sdb               0.04         0.00         0.00          3          0
dm-0             12.79         0.43         0.12       1197        329
dm-1              0.04         0.00         0.00          2          0
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.24    0.00    0.15    0.00    0.00   99.61
    
Device             tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda               0.00         0.00         0.00          0          0
sdc               0.00         0.00         0.00          0          0
sdb               0.00         0.00         0.00          0          0
dm-0              0.00         0.00         0.00          0          0
dm-1              0.00         0.00         0.00          0          0
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.20    0.00    0.18    0.00    0.00   99.62
    
Device             tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda               0.50         0.00         0.00          0          0
sdc               0.00         0.00         0.00          0          0
sdb               0.00         0.00         0.00          0          0
dm-0              0.50         0.00         0.00          0          0
dm-1              0.00         0.00         0.00          0          0

Die obige Ausgabe stammt von einem 30-Sekunden-Lauf.

Sie müssen Strg + C verwenden um den Lauf zu beenden.

Leicht zu lesen

Verwenden Sie die folgenden Optionen, um die Ausgabe zu bereinigen und leichter zu verdauen:

-m ändert die Ausgabe in Megabyte, was etwas einfacher zu lesen ist und normalerweise von Kunden oder Managern besser verstanden wird.

[root@rhel ~]# iostat -m
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test)     06/17/2020     _x86_64_    (4 CPU)
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.51    0.09    0.55    0.07    0.00   97.77
    
Device             tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda              22.23         0.81         0.21       1211        322
sdc               0.07         0.00         0.00          3          0
sdb               0.07         0.00         0.00          3          0
dm-0             23.34         0.80         0.22       1197        328
dm-1              0.07         0.00         0.00          2          0

-p können Sie ein bestimmtes Gerät angeben, auf das Sie sich konzentrieren möchten. Sie können diese Option mit dem -m kombinieren für einen schönen und aufgeräumten Blick auf ein besonders besorgniserregendes Gerät und seine Partitionen.

[root@rhel ~]# iostat -m -p sda
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test)     06/17/2020     _x86_64_    (4 CPU)
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.19    0.07    0.45    0.06    0.00   98.24
    
Device             tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda              17.27         0.63         0.17       1211        322
sda2             16.83         0.62         0.17       1202        320
sda1              0.10         0.00         0.00          7          2

Erweiterte Statistiken

Wenn die Standardwerte Ihnen einfach nicht die benötigten Informationen liefern, können Sie -x verwenden Flag, um erweiterte Statistiken anzuzeigen:

[root@rhel ~]# iostat -m -p sda -x 
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test)     06/17/2020     _x86_64_    (4 CPU)
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.06    0.06    0.40    0.05    0.00   98.43
    
Device            r/s     w/s     rMB/s     wMB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sda             12.20    2.83      0.54      0.14     0.02     0.92   0.16  24.64    0.55    0.50   0.00    45.58    52.37   0.46   0.69
sda2            12.10    2.54      0.54      0.14     0.02     0.92   0.16  26.64    0.55    0.47   0.00    45.60    57.88   0.47   0.68
sda1             0.08    0.01      0.00      0.00     0.00     0.00   0.00  23.53    0.44    1.00   0.00    43.00   161.08   0.57   0.00

Einige der Optionen, auf die Sie hier achten sollten, sind:

  • avgqu-sz - durchschnittliche Warteschlangenlänge einer an das Gerät ausgegebenen Anfrage
  • await – durchschnittliche Zeit für E/A-Anforderungen, die an das zu bedienende Gerät gesendet werden (Millisekunden)
  • r_await – durchschnittliche Zeit für die Bearbeitung von Leseanfragen (Millisekunden)
  • w_await - durchschnittliche Zeit für die Bearbeitung von Schreibanfragen (Millisekunden)

Es sind noch andere Werte vorhanden, aber auf diese sollten Sie achten.

Herunterfahren

Dieser Artikel behandelt so ziemlich alles, was Sie für die ersten Schritte mit iostat benötigen . Wenn Sie weitere Fragen haben oder weitere Erläuterungen zu den Optionen benötigen, lesen Sie unbedingt die Manpage oder Ihre bevorzugte Suchmaschine. Weitere Linux-Tipps und -Tricks finden Sie unter Enable Sysadmin!

[ Kostenloser Online-Kurs:Technischer Überblick zu Red Hat Enterprise Linux. ]


Linux
  1. Verwenden von Google Drive über die Linux-Befehlszeile

  2. Wie rufe ich ein Openoffice-Makro von der Linux-Befehlszeile aus auf?

  3. Migrieren eines Linux-Servers über die Befehlszeile

  4. Grundlagen der Linux-Befehlszeile – Ausführen von Befehlen über die Befehlszeile

  5. Generieren eines SHA-256-Hashs über die Linux-Befehlszeile

Erstellen Sie eine Fotocollage über die Linux-Befehlszeile

Programmieren Sie Hardware über die Linux-Befehlszeile

Die Linux-Befehlszeile kann aus der Ferne Spaß machen

Meistern Sie die Linux-Befehlszeile

So suchen Sie nach Dateien über die Linux-Befehlszeile

Verzeichnis in Linux entfernen – So löschen Sie einen Ordner von der Befehlszeile aus