Heim > Artikel > System-Tutorial > Verstehen Sie die Leistung von Linux-Festplatten mit dem Befehl iostat
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
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.)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.
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
-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.20Die 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.iostat kann auch verwendet werden, um einen Teil des CPU-Statuswerts zu erhalten:
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 -c 1 10
1,98 0,00 0,35 11,45 86,22avg-cpu: %user %nice %sys %iowait %idle
Allgemeine Verwendung
1,62 0,00 0,25 34,46 63,67
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 anzeigenFallanalyse
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.0013232136Wie 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.24Sie 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!