Heim  >  Artikel  >  System-Tutorial  >  Verstehen Sie die Leistung von Linux-Festplatten mit dem Befehl iostat

Verstehen Sie die Leistung von Linux-Festplatten mit dem Befehl iostat

WBOY
WBOYnach vorne
2023-12-29 09:11:581074Durchsuche

Einführung

iostat wird hauptsächlich zur Überwachung der E/A-Last von Systemgeräten verwendet. Wenn iostat zum ersten Mal ausgeführt wird, werden verschiedene statistische Informationen seit dem Systemstart angezeigt. Benutzer können die erforderlichen statistischen Informationen erhalten, indem sie die Anzahl und den Zeitpunkt der Statistiken angeben.

Grammatik

iostat [ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ] [ Gerät [...] | ] [ -p [ Gerät [,...] |. ALL ] ] [ Intervall [ Anzahl ] ]

Erste Schritte

iostat -d -k 1 10
Device:tpskB_read/skB_wrtn/skB_readkB_wrtn
sda39.2921.14 1.44441339807 29990031
sda10.00 0.00 0.00 1623523
sda21.32 1.43 4.54 29834273 94827104
sda36.30 0.8524.95 17816289520725244
sda50.85 0.46 3.409543503 70970116
sda60.00 0.00 0.00550236
sda70.00 0.00 0.004060
sda80.00 0.00 0.004060
sda90.00 0.00 0.004060
sda1060.6818.3571.43383002263 1490928140
 
Device:tpskB_read/skB_wrtn/skB_readkB_wrtn
sda 327.555159.18 102.04 5056100
sda10.00 0.00 0.0000

Parameter -d gibt an, dass der Geräte-(Festplatten-)Nutzungsstatus angezeigt wird; -k einige Spalten, die Blöcke als Einheiten verwenden, werden gezwungen, Kilobyte als Einheiten zu verwenden; 2 zeigt an, dass die Datenanzeige alle 2 Sekunden aktualisiert wird.

Die Bedeutung der Ausgabeinformationen

tps: Geben Sie die Anzahl der Übertragungen pro Sekunde an, die an das Gerät ausgegeben wurden. „Eine Übertragung“ bedeutet „eine I/O-Anfrage“. Mehrere logische Anfragen können zu „einer I/O-Anfrage“ zusammengefasst werden. Der Umfang der „One Transfer“-Anfrage ist unbekannt.

kB_read/s: Die vom Gerät gelesene Datenmenge (ausgedrückt als Laufwerk) pro Sekunde
kB_wrtn/s: Die pro Sekunde auf das Gerät geschriebene Datenmenge (ausgedrückt als Laufwerk); kB_read: Die Gesamtmenge der gelesenen Daten
kB_wrtn: Die Gesamtmenge der geschriebenen Daten; diese Einheiten sind Kilobyte.

Im obigen Beispiel können wir die Statistiken der Festplatte SDA und ihrer verschiedenen Partitionen sehen. Die zu diesem Zeitpunkt berechnete Gesamt-TPS der Festplatte betrug 39,29. Das Folgende ist die TPS jeder Partition. (Da es sich um einen Momentanwert handelt, entspricht die Gesamt-TPS nicht unbedingt der Summe der TPS jeder Partition.)

Geben Sie den Namen des überwachten Geräts als sda an. Die Ausgabe dieses Befehls ist genau die gleiche wie der obige Befehl.

iostat -d sda 2

Überwachen Sie standardmäßig alle Festplattengeräte, jetzt nur noch SDA.

-x-Parameter

iostat verfügt außerdem über eine häufiger verwendete Option -x, mit der erweiterte Daten im Zusammenhang mit io angezeigt werden.

iostat -d -x -k 1 10
Device:rrqm/s wrqm/s r/s w/srsec/swsec/srkB/swkB/s avgrq-sz avgqu-sz awaitsvctm%util
sda1.5628.317.80 31.49 42.512.9221.26 1.46 1.16 0.030.79 2.6210.28
Device:rrqm/s wrqm/s r/s w/srsec/swsec/srkB/swkB/s avgrq-sz avgqu-sz awaitsvctm%util
sda2.0020.00 381.007.00 12320.00216.006160.00 108.0032.31 1.754.50 2.1784.20

Die Bedeutung der Ausgabeinformationen

rrqm/s: Wie viele Leseanforderungen für dieses Gerät werden pro Sekunde zusammengeführt (wenn der Systemaufruf Daten lesen muss, sendet VFS die Anforderung an jeden FS. Wenn der FS feststellt, dass unterschiedliche Leseanforderungen Daten desselben Geräts lesen). Block, FS führt die Anfragen in Merge zusammen); wrqm/s: Wie viele Schreibanfragen für dieses Gerät pro Sekunde zusammengeführt werden.


rsec/s: Anzahl der pro Sekunde gelesenen Sektoren
wsec/: Anzahl der pro Sekunde geschriebenen Sektoren.
rKB/s: Die Anzahl der Leseanfragen, die pro Sekunde an das Gerät ausgegeben wurden; wKB/s: Die Anzahl der Schreibanfragen, die pro Sekunde an das Gerät gesendet wurden; avgrq-sz durchschnittliche angeforderte Sektorgröße
avgqu-sz ist die durchschnittliche Länge der Anforderungswarteschlange. Es besteht kein Zweifel: Je kürzer die Warteschlangenlänge, desto besser.
Warten: Die durchschnittliche Verarbeitungszeit jeder E/A-Anfrage (Einheit ist Mikrosekunden und Millisekunden). Dies kann als E/A-Antwortzeit verstanden werden. Im Allgemeinen sollte die E/A-Antwortzeit des Systems weniger als 5 ms betragen.
Diese Zeit umfasst die Warteschlangenzeit und die Servicezeit. Unter normalen Umständen ist die Warteschlange umso größer, je kleiner die Differenz ist Zeit, was darauf hinweist, dass das System ausgefallen ist.
svctm stellt die durchschnittliche Servicezeit (in Millisekunden) jedes Geräte-E/A-Vorgangs dar. Wenn der Wert von „svctm“ sehr nahe an „wait“ liegt, bedeutet dies, dass es fast keine E/A-Wartezeit gibt und die Festplattenleistung sehr gut ist. Wenn der Wert von „await“ viel höher ist als der Wert von „svctm“, bedeutet dies, dass die E/A-Wartezeit sehr gering ist. Die Wartezeit in der O-Warteschlange ist zu lang und die auf dem System ausgeführten Anwendungen werden langsamer.
%util: Die gesamte Verarbeitungs-E/A-Zeit innerhalb der statistischen Zeit, geteilt durch die gesamte statistische Zeit. Wenn das Statistikintervall beispielsweise 1 Sekunde beträgt, das Gerät 0,8 Sekunden lang E/A verarbeitet und 0,2 Sekunden lang im Leerlauf ist, dann ist %util des Geräts = 0,8/1 = 80 %, sodass dieser Parameter angibt, wie beschäftigt das Gerät ist
. Wenn dieser Parameter 100 % beträgt, bedeutet dies im Allgemeinen, dass das Gerät nahezu voll ausgelastet ist (wenn mehrere Festplatten vorhanden sind, selbst wenn %util 100 % beträgt, kann es sein, dass die Festplattennutzung aufgrund der Parallelitätsfähigkeit möglicherweise keinen Engpass erreicht). der Festplatte).


-c-Parameter

iostat kann auch verwendet werden, um einen Teil des CPU-Statuswerts zu erhalten:


iostat -c 1 10

avg-cpu: %user %nice %sys %iowait %idle
1,98 0,00 0,35 11,45 86,22

avg-cpu: %user %nice %sys %iowait %idle
1,62 0,00 0,25 34,46 63,67


Allgemeine Verwendung

iostat -d -k 1 10 #TPS- und Durchsatzinformationen anzeigen (Einheit für die Lese- und Schreibgeschwindigkeit der Festplatte ist KB)

iostat -d -m 2 #TPS- und Durchsatzinformationen anzeigen (Lese- und Schreibgeschwindigkeit der Festplatte in MB)
iostat -d -x -k 1 10 #Gerätenutzung anzeigen (%util), Antwortzeit (warten) iostat -c 1 10 #CPU-Status anzeigen



Fallanalyse

ostat -d -k 1 |grep sda10
Device:tpskB_read/skB_wrtn/skB_readkB_wrtn
sda1060.7218.9571.53395637647 1493241908
sda10 299.024266.67 129.41 4352132
sda10 483.844589.904117.17 4544 4076
sda10 218.003360.00 100.00 3360100
sda10 546.008784.00 124.00 8784124
sda10 827.00 13232.00 136.0013232136
Wie oben zu sehen ist, beträgt die durchschnittliche Anzahl der Festplattenübertragungen pro Sekunde etwa 400; die Festplatte liest etwa 5 MB pro Sekunde und schreibt etwa 1 MB.
iostat -d -x -k 1
Device:rrqm/s wrqm/s r/s w/srsec/swsec/srkB/swkB/s avgrq-sz avgqu-sz awaitsvctm%util
sda1.5628.317.84 31.50 43.653.1621.82 1.58 1.19 0.030.80 2.6110.29
sda1.9824.75 419.806.93 13465.35253.476732.67 126.7332.15 2.004.70 2.0085.25
sda3.0641.84 444.90 54.08 14204.08 2048.987102.041024.4932.57 2.104.21 1.8592.24

Sie können sehen, dass die durchschnittliche Antwortzeit der Festplatte c1a588f4a59cdd9cc75572c40cf7105c80 beträgt. Die Festplatte reagiert normal, ist aber bereits stark ausgelastet.

Das obige ist der detaillierte Inhalt vonVerstehen Sie die Leistung von Linux-Festplatten mit dem Befehl iostat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen