Bei der Durchführung von Verwaltungsaufgaben in Linux-Umgebungen ist es ideal und ratsam, über Tools und Dienstprogramme zu verfügen, die es uns ermöglichen, die zu analysierenden Daten viel genauer zu kontrollieren, da wir auf diese Weise unsere Aufgabe vereinfachen und ordnen und so viel mehr erreichen können genaue Ergebnisse.
Eines dieser Dienstprogramme ist iostat und heute werden wir in Solvetic analysieren, wie wir es nutzen können, um direkte, klare und absolut zuverlässige Berichte über die Elemente zu erhalten, die wir in unserer Organisation verwalten, unabhängig von der verwendeten Verteilung. In diesem Fall verwenden wir Ubuntu 17.10-Server.
Was ist iostatIostat (Eingabe- / Ausgabestatistik - Eingabe- / Ausgabestatistik) ist ein Dienstprogramm, mit dem Informationen über Eingabe- und Ausgabekomponenten des Systems abgerufen werden können, die dem Administrator oder Benutzer die Möglichkeit bieten, Leistungsprobleme sowohl auf der lokalen Festplatte zu identifizieren und Remote-Festplatten oder allgemeine Betriebssysteminformationen.
Mit diesem Befehl kann die Last der Ein-/Ausgabegeräte des Systems gesteuert werden, indem die Zeit beobachtet wird, die diese Geräte im Verhältnis zu ihren durchschnittlichen Übertragungsraten innerhalb des Systems aktiv sind.
Wenn wir iostat verwenden, können Berichte erstellt werden, mit denen die Systemkonfiguration geändert und die Eingabe- und / oder Ausgabelast zwischen den physischen Festplatten viel effizienter ausgeglichen werden kann.
Der erste vom iostat-Befehl generierte Bericht gibt uns Statistiken über die allgemeine Zeit seit Beginn des Systemstartvorgangs, daher deckt jeder nachfolgende Bericht die seit dem vorherigen Bericht verstrichene Zeit ab; Alle Statistiken werden jedes Mal gemeldet, wenn wir den Befehl iostat ausführen.
Dieser Bericht besteht aus einer CPU-Kopfzeile gefolgt von einer CPU-Statistikzeile. Bei Mehrprozessorsystemen werden die CPU-Statistiken im gesamten System als Durchschnittswerte aller vorhandenen Prozessoren berechnet und dann eine Zeile mit Gerätekopfzeilen gefolgt von einer Statistikzeile für jedes konfigurierte Gerät.
1. Installieren Sie iostat auf Ubuntu 17.10
Standardmäßig ist iostat in dieser Distribution im Ubuntu-sysstat-Paket enthalten und wir können es einfach durch Ausführen des folgenden Befehls installieren:
sudo apt install sysstat -y
VERGRÖSSERN
2. Verwenden Sie iostat in Ubuntu 17.10
Schritt 1
Der erste Befehl, den wir ausführen können, ist iostat, der Informationen zur CPU-Auslastung und E / A-Statistiken von Ubuntu 17.10 anzeigt:
VERGRÖSSERN
Schritt 2
Dort sehen wir Details wie:
- In der ersten Zeile die Version des Linux-Kernels und den Hostnamen.
- In den nächsten beiden Zeilen sehen wir CPU-Statistiken, wie z System.
- In den letzten beiden Zeilen sehen wir den Nutzungsbericht des Geräts, wie die Anzahl der Lese- und Schreibblöcke pro Sekunde und die Gesamtzahl der Block- und Schreiblesevorgänge pro Sekunde, die auf dem Gerät ausgeführt wurden.
Schritt 3
Standardmäßig generiert der Befehl iostat den Bericht mit dem aktuellen Datum. Wenn wir die aktuelle Uhrzeit anzeigen möchten, müssen Sie daher den folgenden Befehl verwenden:
iostat -t
VERGRÖSSERN
Schritt 4
Im Moment möchten wir die Version von iostat überprüfen, führen Sie einfach Folgendes aus:
iostat -V
VERGRÖSSERN
Schritt 5
Es ist erwähnenswert, dass wir die folgende Zeile verwenden können, um alle Optionen anzuzeigen, die wir später angeben werden:
iostat -Hilfe
VERGRÖSSERN
3. Verwenden Sie den erweiterten Iostat-Modus in Ubuntu 17.10
In einigen Fällen können wir je nach Art der angeforderten Anfrage einige erweiterte Parameter verwenden. Einige dieser Optionen sind die folgenden.
Schritt 1
Wenn wir den Bericht eines Geräts nur einmal sehen möchten, führen wir den folgenden Befehl aus:
iostat -d
VERGRÖSSERN
Schritt 2
Um den Bericht dieses Geräts kontinuierlich alle 7 Sekunden anzuzeigen, führen wir 4 Mal hintereinander die folgende Zeile aus:
iostat -d 7 4
VERGRÖSSERN
Schritt 3
Wenn wir die Statistiken bestimmter Geräte sehen möchten, verwenden wir den folgenden Befehl:
iostat -p sda
VERGRÖSSERN
Schritt 4
Wir können die Statistiken verschiedener Geräte gleichzeitig anzeigen, indem wir Folgendes ausführen:
iostat -p sda, sdb, sdcSchritt 5
Um die I / O-Statistik des Geräts in MB / Sekunde zu erhalten, führen wir den folgenden Befehl aus:
iostat -m
VERGRÖSSERN
Schritt 6
Um die spezifischen Informationen einer erweiterten Partition zu erhalten, müssen wir den folgenden Befehl verwenden:
iostat -x "Partition"
VERGRÖSSERN
Schritt 7
Um die CPU-Auslastungsstatistik anzuzeigen, ist der zu verwendende Befehl der folgende:
iostat -c
VERGRÖSSERN
4. Iostat-Berichte in Ubuntu 17.10
Jetzt können wir sehen, dass jede der zu verwendenden Optionen praktisch ist, aber jede Zeile enthält einen bestimmten Wert, den wir auf den ersten Blick nicht sehr gut verstehen können. Deshalb wird Solvetic erklären, was jeder dieser Werte bedeutet Um die von iostat generierten Ergebnisse noch besser zu verstehen, verstehen Sie, dass der Befehl iostat drei Arten von Berichten generiert:
- Der CPU-Auslastungsbericht
- Der Gerätenutzungsbericht
- Der Netzwerkdateisystembericht
Schritt 1
Nun sind die Werte wie folgt. Im ersten Bericht, der vom Befehl iostat generiert wurde, sind Details zur CPU-Auslastung enthalten. Bei Mehrprozessorsystemen sind CPU-Werte globale Durchschnitte über alle aktiven Prozessoren. Der Bericht hat das folgende Format:
% NutzerZeigt den Prozentsatz der CPU-Auslastung an, der während der Ausführung auf Benutzer- (Anwendungs-)Ebene aufgetreten ist.
% nettGibt den Prozentsatz der CPU-Auslastung wieder, der bei der Ausführung auf der Benutzerebene mit hoher Priorität aufgetreten ist.
% SystemZeigt den Prozentsatz der CPU-Auslastung an, der während der Ausführung auf System-(Kernel-)Ebene aufgetreten ist.
% iowaitZeigt den Prozentsatz der Zeit an, in der die CPU oder die CPUs im Leerlauf waren, während der das System eine ausstehende Festplatten-E/A-Anforderung hatte.
% stehlenZeigt den Prozentsatz der Zeit an, die versehentlich auf die virtuelle(n) CPU(s) gewartet wurde, während der Hypervisor einen anderen virtuellen Prozessor bediente.
% LeerlaufZeigt den Prozentsatz der Zeit an, in der die CPU(s) im Leerlauf waren und das System keine ausstehende Festplatten-E/A-Anforderung hatte.
Schritt 2
Der zweite Bericht, der vom Befehl iostat generiert wird, ist der Bericht zur Geräteauslastung. In diesem Gerätebericht werden Statistiken nach physischem Gerät oder nach Partition bereitgestellt. Der Bericht kann abhängig von den verwendeten Indikatoren die folgenden Felder anzeigen:
GerätDiese Spalte enthält den Geräte- (oder Partitions-)Namen, angezeigt als hdiskn für 2.2-Kernel, für das n-te Gerät. Es wird als devm -n mit 2.4-Kernels angezeigt, wobei m die Hauptgerätenummer und n eine eindeutige Zahl ist. Bei neueren Kerneln wird der Gerätename wie im Verzeichnis /dev angezeigt angezeigt.
tpsGibt die Anzahl der Übertragungen pro Sekunde an, die das Gerät erreicht haben. Ein Transfer ist eine I/O-Anfrage an das Gerät, diese kann mit mehreren logischen Anfragen zu einer einzigen I/O-Anfrage an das Gerät kombiniert werden. Ein Transfer ist von unbestimmter Größe.
Blk_read / sBezieht sich auf die vom Gerät gelesene Datenmenge, ausgedrückt in einer Anzahl von Blöcken pro Sekunde. Die Blöcke entsprechen Sektoren mit Kernel 2.4 und höher und sind daher 512 Byte groß. Bei älteren Kernen hat ein Block eine unbestimmte Größe.
Blk_wrtn / sGibt die Datenmenge an, die auf das Gerät geschrieben wird, ausgedrückt in mehreren Blöcken pro Sekunde.
Blk_readEs ist die Gesamtzahl der gelesenen Blöcke.
Blk_wrtnEs ist die Gesamtzahl der geschriebenen Blöcke.
kB_read / sGibt die vom Gerät gelesene Datenmenge in Kilobyte pro Sekunde an.
kB_wrtn / sGibt die auf das Gerät geschriebene Datenmenge in Kilobyte pro Sekunde an.
kB_readEs ist die Gesamtzahl der gelesenen Kilobyte.
kB_wrtnEs ist die Gesamtzahl der geschriebenen Kilobyte.
MB_read / sBezieht sich auf die vom Gerät gelesene Datenmenge, ausgedrückt in Megabyte pro Sekunde.
MB_wrtn / sBezieht sich auf die vom Gerät geschriebene Datenmenge in Megabyte pro Sekunde.
MB_readEs ist die Gesamtzahl der gelesenen Megabyte.
MB_wrtnEs ist die Gesamtzahl der geschriebenen Megabyte.
rrqm / sDies ist die Anzahl der zusammengeführten Leseanforderungen pro Sekunde, die in die Warteschlange des Geräts gestellt wurden.
wrqm / sDies ist die Anzahl der zusammengeführten Schreibanforderungen pro Sekunde, die in die Warteschlange des Geräts gestellt wurden.
r / sDies ist die Anzahl der Leseanforderungen, die pro Sekunde an das Gerät gesendet wurden.
w / sDies ist die Anzahl der Schreibanforderungen, die pro Sekunde an das Gerät gesendet wurden.
rsec / sSie sind die Anzahl der Sektoren, die pro Sekunde vom Gerät gelesen werden.
wsec / sSie sind die Anzahl der geschriebenen Sektoren des Geräts pro Sekunde.
rkB / sSie sind die Anzahl der Kilobytes, die pro Sekunde vom Gerät gelesen werden.
wkB / sSie sind die Anzahl der Kilobytes, die pro Sekunde auf das Gerät geschrieben werden.
rMB / sSie sind die Anzahl der Megabyte, die pro Sekunde vom Gerät gelesen werden.
wMB / sSie sind die Anzahl der Megabyte, die pro Sekunde auf das Gerät geschrieben werden.
avgrq-szDies ist die durchschnittliche Größe (in Sektoren) der Anforderungen, die an das Gerät gesendet wurden.
avgqu-szDies ist die durchschnittliche Dauer der Warteschlange der Anfragen, die an das Gerät ausgegeben wurden.
erwartenEs ist die durchschnittliche Zeit (in Millisekunden) für die I / O-Anforderungen, die für das Gerät im System ausgegeben werden.
svctmEs ist die durchschnittliche Servicezeit (in Millisekunden) für die I/O-Anfragen, die an das Gerät gestellt wurden.
%NützlichGibt den Prozentsatz der CPU-Zeit an, während der E/A-Anfragen an das Gerät gestellt wurden (Bandbreitennutzung für das Gerät). Die Gerätesättigung tritt auf, wenn dieser Wert nahe 100 % liegt.
Schritt 3
Der dritte iostat-Bericht ist der Network File System (NFS)-Bericht, der Statistiken für jedes auf dem System gemountete Netzwerkdateisystem bereitstellt. Der Bericht zeigt die folgenden Felder:
DateisystemIn dieser Spalte wird der Hostname des NFS-Servers gefolgt von einem Doppelpunkt und dem Namen des Verzeichnisses angezeigt, in dem das Netzwerkdateisystem eingehängt ist.
rBlk_nor / sGibt die Anzahl der Blöcke an, die von Anwendungen über die lesende Systemaufrufschnittstelle gelesen werden, ein Block hat eine Größe von 512 Byte.
wBlk_nor / sGibt die Anzahl der Blöcke an, die von Anwendungen über die Aufrufschnittstelle des schreibenden Systems geschrieben werden.
rBlk_dir / sBezieht sich auf die Anzahl der Blöcke, die aus geöffneten Dateien mit dem Flag O_DIRECT gelesen wurden.
wBlk_dir / sGibt die Anzahl der Blöcke an, die in geöffneten Dateien mit dem Flag O_DIRECT geschrieben wurden.
rBlk_svr / sBezieht sich auf die Anzahl der Blöcke, die der NFS-Client über eine NFS-Leseanforderung vom Server gelesen hat.
wBlk_svr / sGibt die Anzahl der Blöcke an, die vom NFS-Client über eine NFS-WRITE-Anforderung auf den Server geschrieben wurden.
ops / soGibt die Anzahl der Operationen an, die pro Sekunde an das Dateisystem ausgegeben wurden.
rops / sGibt die Anzahl der Lesevorgänge an, die pro Sekunde an das Dateisystem ausgegeben wurden.
wops / soBezieht sich auf die Anzahl der 'Schreib'-Operationen, die pro Sekunde an das Dateisystem ausgegeben wurden.
5. Allgemeine Iostat-Parameter in Ubuntu 17.10
Die Parameter, die wir mit iostat verwenden können, sind:
-CGenerieren Sie den CPU-Auslastungsbericht.
-DGenerieren Sie den Gerätenutzungsbericht.
-hLassen Sie den NFS-Bericht nach Wahl anzeigen - er ist für einen Menschen einfacher zu lesen.
-kZeigt Statistiken in Kilobyte pro Sekunde anstelle von Blöcken pro Sekunde an. Die angezeigten Daten sind nur mit Kernels 2.4 und höher gültig.
-mEs generiert Statistiken in Megabyte pro Sekunde anstelle von Blöcken oder Kilobyte pro Sekunde. Die angezeigten Daten sind nur mit Kernels 2.4 und höher gültig.
-nZeigt den Network File System (NFS)-Bericht an. Diese Option funktioniert nur mit Kernel 2.6.17 und späteren Versionen.
-P[{Gerät [,…] | ALL}]: Die Option -p zeigt die Statistiken der Blockgeräte und aller ihrer Partitionen an, die vom System verwendet werden. Wenn wir in der Befehlszeile einen Gerätenamen hinzufügen, werden die Statistiken und alle ihre Partitionen angezeigt. Schließlich gibt das Schlüsselwort ALL an, dass Statistiken für alle systemdefinierten Blockpartitionen und Geräte angezeigt werden sollen.
-TDruckt die Uhrzeit jedes erstellten Berichts. Das Zeitstempelformat kann vom Wert der Umgebungsvariablen S_TIME_FORMAT abhängen.
-VDrucken Sie die verwendete iostat-Version aus.
-xZeigen Sie erweiterte Statistiken an.
-zWeist iostat an, die Ausgabe jedes Geräts zu überspringen, für das während des ausgewählten Abtastzeitraums keine Aktivität vorhanden ist.
Wie wir sehen, ist iostat mehr als ein einfaches Systemdienstprogramm, wir müssen das Beste daraus machen und unsere Betriebssysteme viel vollständiger verwalten.