Tutorial zur Verwendung des iostat-Befehls unter Linux

Tutorial zur Verwendung des iostat-Befehls unter Linux

Vorwort

Es wird gesagt, dass sich die für Betrieb und Wartung zuständigen Personen schämen würden, den Server zu bedienen, wenn sie nicht über die erforderlichen Kenntnisse verfügen. Glücklicherweise bin ich kein Betriebs- und Wartungspersonal. Ich habe immer behauptet, Entwickler zu sein. Das Betriebs- und Wartungspersonal meines derzeitigen Arbeitgebers ist jedoch so inkompetent, dass sie von mir, der behauptet, Entwickler zu sein, verlangen, dass ich die Ärmel hochkrempele und es selbst mache. Nun, das geht nicht. Ich muss die vorherigen Aufträge übernehmen und von vorne beginnen~~~

Wenn es um Betrieb und Wartung geht, sind Kontrollplatten unverzichtbar. Wenn es um die Festplattenüberwachung geht, müssen wir über den Befehl iostat sprechen. Dieser Artikel enthält eine detaillierte Zusammenfassung des iostat-Befehls, mit dem ich früher sehr vertraut war.

Befehlsdetails

Iostat ist im Linux-System die Abkürzung für I/O-Statistik. Das Tool Iostat überwacht die Festplattenbetriebsaktivitäten des Systems. Es bietet Statistiken zur Festplattenaktivität und auch Berichte zur CPU-Auslastung. Wie vmstat weist auch iostat eine Schwäche auf: Es kann keine eingehende Analyse eines bestimmten Prozesses durchführen, sondern analysiert nur die Gesamtsituation des Systems.

Das allgemeine Befehlsformat von iostat ist wie folgt:

iostat [Parameter] [Zeit] [Anzahl der Male]

Die Befehlsparameter werden wie folgt beschrieben:

-c CPU-Auslastung anzeigen
-d Datenträgernutzung anzeigen
-k Anzeige in K Einheiten
-m Anzeige in M ​​Einheiten
-N Zeigt Informationen zum Disk-Array (LVM) an
-n NFS-Nutzung anzeigen
-p kann die Nutzung jeder Partition jeder Festplatte melden
-t Terminal- und CPU-Informationen anzeigen
-x Detaillierte Informationen anzeigen

Nachfolgend finden Sie eine detaillierte Zusammenfassung unserer häufig verwendeten Verwendungsmethoden.

Anwendungsfall

Befehl: iostat -x

Beschreibung: Aktualisieren Sie die Anzeige alle 2 Sekunden und zeigen Sie sie 3 Mal an

Ausgabe:

[Benutzer1@Testserver ~]$ iostat -x
Linux 3.10.0-693.2.2.el7.x86_64 (jellythink) 01/05/2019 _x86_64_ (1 CPU)

Durchschnittliche CPU: %Benutzer %nice %System %iowait %steal %idle
  1,83 0,00 0,31 0,09 0,00 97,77

Gerät: rrqm/s wrqm/sr/sw/s rkB/s wkB/s avgrq-sz avgqu-sz warten r_warten w_warten svctm %util
vda 0,03 0,78 0,24 1,38 12,64 20,67 41,01 0,02 10,98 55,50 3,17 0,71 0,12

Detaillierte Ausgabeinhalte:

  • %user: Der Prozentsatz der Zeit, in der sich die CPU im Benutzermodus befindet
  • %nice: Der Prozentsatz der Zeit, in der sich die CPU im Benutzermodus mit einem NICE-Wert befindet
  • %system: Der Prozentsatz der Zeit, in der sich die CPU im Systemmodus befindet
  • %iowait: Der Prozentsatz der Zeit, die die CPU damit verbringt, auf die Fertigstellung von Eingabe und Ausgabe zu warten
  • %steal: Der Prozentsatz der Zeit, die eine virtuelle CPU unbeabsichtigt wartet, während der Hypervisor einen anderen virtuellen Prozessor wartet.
  • %idle: Prozentsatz der CPU-Leerlaufzeit

Natürlich besteht der Zweck des iostat-Befehls nicht darin, die CPU anzuzeigen, sondern die Festplattenleistung zu überwachen.

  • Gerät: Gerätename
  • rrqm/s: Die Anzahl der pro Sekunde an das Gerät weitergeleiteten Leseanfragen
  • wrqm/s: Die Anzahl der pro Sekunde mit dem Gerät zusammengeführten Schreibanforderungen
  • r/s: Die Anzahl der pro Sekunde auf der Festplatte initiierten Lesevorgänge
  • w/s: Die Anzahl der pro Sekunde auf die Festplatte eingeleiteten Schreibvorgänge
  • rkB/s: KBytes pro Sekunde
  • wkB/s: Schreiben Sie KBytes pro Sekunde
  • avgrq-sz: Durchschnittliche Datengröße pro Geräte-E/A-Vorgang
  • avgqu-sz: Durchschnittliche Länge der E/A-Warteschlange
  • Warten: Die durchschnittliche Wartezeit (in Millisekunden) für jeden Geräte-E/A-Vorgang. Im Allgemeinen sollte die System-E/A-Antwortzeit weniger als 5 ms betragen. Wenn sie größer als 10 ms ist, ist sie relativ groß.
  • r_await: Die für jeden Lesevorgang benötigte durchschnittliche Zeit; sie umfasst nicht nur die Zeit, die das Festplattengerät zum Lesen des Vorgangs benötigt, sondern auch die Wartezeit in der Kernel-Warteschlange.
  • w_await: Die für jeden Schreibvorgang benötigte durchschnittliche Zeit; sie umfasst nicht nur die zum Schreiben auf das Festplattengerät benötigte Zeit, sondern auch die Wartezeit in der Kernel-Warteschlange.
  • svctm: Durchschnittliche Servicezeit (in Millisekunden) für jeden Geräte-E/A-Vorgang (diese Daten sind nicht glaubwürdig!)
  • %util: Der Prozentsatz der Zeit in einer Sekunde, der für E/A-Vorgänge verwendet wird, d. h. der Prozentsatz der CPU, der von E/A verbraucht wird. Wenn dieser Parameter 100 % beträgt, bedeutet dies im Allgemeinen, dass das Gerät nahezu voll ausgelastet ist.

Befehl: iostat -d 2 3

Ausgabe:

[Gelee@Geleedenken ~]$ iostat -d 2 3
Linux 3.10.0-693.2.2.el7.x86_64 (jellythink) 01/05/2019 _x86_64_ (1 CPU)

Gerät: tps kB_lesen/s kB_schreiben/s kB_lesen kB_schreiben
vda 1,62 12,64 20,67 337375593 551756524

Gerät: tps kB_lesen/s kB_schreiben/s kB_lesen kB_schreiben
vda 1,00 0,00 8,00 0 16

Gerät: tps kB_lesen/s kB_schreiben/s kB_lesen kB_schreiben
vda 0,00 0,00 0,00 0 0

Detaillierte Ausgabeinhalte:

  • tps: I/O pro Sekunde (IOPS, die Summe der kontinuierlichen Lese- und Schreibvorgänge auf der Festplatte)
  • kB_read/s: Die Größe der pro Sekunde von der Festplatte gelesenen Daten in KB/s
  • kB_wrtn/s: Die Größe der pro Sekunde auf die Festplatte geschriebenen Daten in KB/s
  • kB_read: Die Gesamtmenge der von der Festplatte gelesenen Daten in KB
  • kB_wrtn: Die Gesamtmenge der auf die Festplatte geschriebenen Daten in KB

Indikatoren zur Leistungsüberwachung

Nachdem nun so viel gesagt und so viel Systemleistung gesehen wurde, auf welche Bereiche müssen wir bei Betrieb und Wartung im Alltag achten? Lassen Sie uns nun über die wichtigsten Punkte dieses Artikels sprechen. Auf welchen Ausgabeinhalt sollten wir achten, um festzustellen, ob dieser Server einen IO-Leistungsengpass aufweist?

  • %iowait: Wenn dieser Wert hoch ist, bedeutet dies, dass ein E/A-Engpass auf der Festplatte vorliegt.
  • Warten: Im Allgemeinen sollte die System-E/A-Antwortzeit weniger als 5 ms betragen. Wenn sie größer als 10 ms ist, ist sie zu lang.
  • avgqu-sz: Wenn der E/A-Anforderungsdruck weiterhin die Verarbeitungskapazität der Festplatte überschreitet, erhöht sich dieser Wert. Wenn die Warteschlangenlänge einer einzelnen Festplatte dauerhaft 2 überschreitet, wird im Allgemeinen davon ausgegangen, dass die Festplatte E/A-Leistungsprobleme hat. Es ist zu beachten, dass, wenn es sich bei der Festplatte um ein virtuelles logisches Laufwerk eines Festplatten-Arrays handelt, der Wert durch die Anzahl der tatsächlichen physischen Festplatten geteilt werden muss, aus denen dieses logische Laufwerk besteht, um die durchschnittliche E/A-Warteschlangenlänge einer einzelnen Festplatte zu erhalten.
  • %util: Wenn dieser Parameter 100 % beträgt, bedeutet dies im Allgemeinen, dass das Gerät nahezu mit voller Kapazität läuft.

Schließlich müssen wir uns nicht nur auf die Indikatoren konzentrieren, sondern auch Analysen im Zusammenhang mit dem eingesetzten Geschäft durchführen. Für Unternehmen mit häufigen wahlfreien Lese- und Schreibvorgängen auf der Festplatte, wie etwa bei Bildzugriffen, Datenbanken, Mailservern usw., ist TPS der entscheidende Punkt. Bei Diensten mit häufigen sequentiellen Lese- und Schreibvorgängen, die die Übertragung großer Datenblöcke erfordern, wie etwa Video-on-Demand und Dateisynchronisierung, liegt der Schwerpunkt auf dem Festplattendurchsatz.

Zusammenfassen

Dies schließt die Zusammenfassung des iostat-Befehls ab. Bei unserer täglichen Betriebs- und Wartungsarbeit müssen wir mehr Analysen basierend auf tatsächlichen Szenarien durchführen. Als Werkzeug ist die Beherrschung der grundlegenden Verwendung von iostat die Grundlage. Ich hoffe, dass durch diesen Artikel jeder die grundlegende Verwendung des iostat-Befehls beherrschen kann. Was die spätere Sublimation betrifft, müssen Sie es in Ihrer Arbeit mehr verwenden, mehr erkunden und mehr zusammenfassen.

Nun, das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Eine detaillierte Einführung in Linux IO
  • Linux IO-Multiplexing Epoll-Netzwerkprogrammierung
  • Interessante Erklärung des Socket IO-Modells von Linux
  • Eine detaillierte Einführung in die fünf IO-Modelle unter Linux
  • Analyse des Linux-Hochleistungsnetzwerk-IO- und Reaktormodells

<<:  Beispiel für die Verwendung der setInterval-Funktion in React

>>:  Mysql-Abfrageanweisung mit mehreren Bedingungen und dem Schlüsselwort „And“

Artikel empfehlen

Element Plus implementiert Affix

Inhaltsverzeichnis 1. Komponenteneinführung 2. Qu...

Detaillierte Erläuterung der Implementierung der Nginx-Prozesssperre

Inhaltsverzeichnis 1. Die Rolle der Nginx-Prozess...

MySQL-Optimierungsstrategie (empfohlen)

Zusammenfassend: 1. Berücksichtigen Sie die Leist...

Detailliertes Installationstutorial für MySQL 5.7 unter CentOS 6 und 7

Für die Entwicklung benötigen Sie immer Daten. Al...

Detaillierte Erklärung zum MySQL-Datenarchivierungstool mysql_archiver

Inhaltsverzeichnis I. Überblick 2. pt-archiver Ha...

Der Quellcode zeigt, warum Vue2 Daten und Methoden direkt abrufen kann

Inhaltsverzeichnis 1. Beispiel: Hiermit können Da...

Detaillierte Erklärung der MySQL-Grundoperationen (Teil 2)

Vorwort Dieser Artikel enthält 1. Mehrere wesentl...

Interviewer stellen häufig Fragen zum Lebenszyklus von React

React-Lebenszyklus Zwei Bilder zum besseren Verst...

Tutorial zur Installation von htop unter CentOS 8

Wenn Sie Ihr System interaktiv überwachen möchten...