Plattenleistung mit dem Befehl iostat bewerten
Beginnen Sie die Bewertung, indem Sie den Befehl iostat mit einem Intervallparameter während der Auslastungsspitze Ihres Systems oder während der Ausführung einer kritischen Anwendung ausführen, für die Sie E/A-Verzögerungen minimieren müssen.
Das folgende Shell-Script führt den Befehl iostat im Hintergrund aus, während eine Kopie einer großen Datei im Vordergrund ausgeführt wird, sodass einige Ein-/Ausgaben zu messen sind:
# iostat 5 3 >io.out &
# cp big1 /dev/nullDas Betriebssystem AIX® verwaltet ein Protokoll der Plattenaktivität. Wenn das Platten-E/A-Protokoll inaktiviert ist, wird beim Ausführen des Befehls iostat die folgende Nachricht angezeigt:
Die folgenden Beispiele zeigen, dass Sie alle verfügbaren Daten auf dem System berücksichtigen müssen, um ein Problem zu beheben.Disk history since boot not available.
The interval disk I/O statistics are unaffected by this.Um das Protokoll der Platten-E/A zu aktivieren, geben Sie in der Befehlszeile smit chgsys ein und wählen Sie dann true im Feld Protokoll der Platten-E/A kontinuierlich verwalten aus.- Der folgende Befehl speichert drei Datenstichproben auf einem System, das über drei Platten in der Datei io.out verfügt. Diese Stichproben werden in einem Intervall von 5 Sekunden zwischen Stichproben erfasst.
# iostat -T 5 3 > /tmp/io.out & # cp bigfile /dev/null System configuration: lcpu=4 drives=4 ent=1.00 paths=3 vdisks=2 tty: tin tout avg-cpu: % user % sys % idle % iowait physc % entc time 1.2 9.6 0.6 1.4 98.0 0.0 0.0 2.7 13:26:46 Disks: % tm_act Kbps tps Kb_read Kb_wrtn time cd0 0.0 0.0 0.0 0 0 13:26:46 hdisk1 0.0 0.0 0.0 0 0 13:26:46 hdisk0 0.0 0.0 0.0 0 0 13:26:46 hdisk2 0.0 0.0 0.0 0 0 13:26:46 tty: tin tout avg-cpu: % user % sys % idle % iowait physc % entc time 0.2 3.6 0.3 13.8 75.1 10.8 0.2 16.8 13:26:51 Disks: % tm_act Kbps tps Kb_read Kb_wrtn time cd0 0.0 0.0 0.0 0 0 13:26:51 hdisk1 0.0 0.0 0.0 0 0 13:26:51 hdisk0 62.8 52428.8 205.4 262144 0 13:26:51 hdisk2 0.0 0.0 0.0 0 0 13:26:51 tty: tin tout avg-cpu: % user % sys % idle % iowait physc % entc time 0.0 0.0 0.5 1.5 97.9 0.1 0.0 2.8 13:26:56 Disks: % tm_act Kbps tps Kb_read Kb_wrtn time cd0 0.0 0.0 0.0 0 0 13:26:56 hdisk1 0.0 0.0 0.0 0 0 13:26:56 hdisk0 0.4 0.8 0.2 0 4 13:26:56 hdisk2 2.6 33.6 7.8 0 168 13:26:56Hinweis: Wenn der Befehl iostat ohne Angabe eines Zeitintervalls ausgeführt wird, enthält die Ausgabe eine Zusammenfassung der Systemdaten seit dem letzten Warmstart des Systems und nicht die aktuellen Werte.- Das erste und dritte Intervall zeigen, dass die drei Platten hauptsächlich inaktiv waren, zusammen mit der CPU-Auslastung, die auch als inaktiv in der angezeigt wird.ttyverbessern konnte.
- Das zweite Intervall zeigt die Aktivität an, die mit dem für diesen Test gestarteten Befehl cp generiert wurde. Diese Aktivität kann sowohl für die CPU-Aktivität (ttyBericht), der zeigt,13.9% sysCPU und auch im Plattenbericht. Die Ausführung des Befehls cp in diesem Intervall dauerte 3.14 Sekunden. Im Bericht zeigt das zweite Intervall 62.8 % für diehdisk0Platte unter der Metrik tm_act . Dieses Beispiel bedeutet, dass diehdisk0Platte war für 62.8 % des Zeitintervalls (5 Sekunden) belegt. Wenn der Befehl cp der einzige Prozess ist, der Platten-E/A für hdisk0generiert, dauerte der Befehl cp 62.8% des 5-Sekunden-Intervalls oder 3.14 Sekunden. Dies ist die Gesamtzeit, die der Befehl cp für die Ausführung benötigte.
- Mit dem folgenden Befehl werden fünf Datenstichproben mit einem Intervall von 2 Sekunden zwischen Stichproben auf einem System mit drei Platten in der Datei io.out2 gespeichert:
# iostat -T 2 5 > /tmp/io2.out & # cp bigfile /dev/null System configuration: lcpu=4 drives=4 ent=1.00 paths=3 vdisks=2 tty: tin tout avg-cpu: % user % sys % idle % iowait physc % entc time 3.0 24.0 0.4 0.8 98.8 0.0 0.0 1.8 13:29:51 Disks: % tm_act Kbps tps Kb_read Kb_wrtn time cd0 0.0 0.0 0.0 0 0 13:29:51 hdisk1 0.0 0.0 0.0 0 0 13:29:51 hdisk0 0.0 0.0 0.0 0 0 13:29:51 hdisk2 0.0 0.0 0.0 0 0 13:29:51 tty: tin tout avg-cpu: % user % sys % idle % iowait physc % entc time 0.5 1.0 0.2 8.2 85.5 6.1 0.1 10.1 13:29:53 Disks: % tm_act Kbps tps Kb_read Kb_wrtn time cd0 0.0 0.0 0.0 0 0 13:29:53 hdisk1 0.0 0.0 0.0 0 0 13:29:53 hdisk0 39.5 30464.0 120.5 60928 0 13:29:53 hdisk2 0.0 0.0 0.0 0 0 13:29:53 tty: tin tout avg-cpu: % user % sys % idle % iowait physc % entc time 0.0 0.0 0.2 21.5 62.9 15.4 0.3 25.7 13:29:55 Disks: % tm_act Kbps tps Kb_read Kb_wrtn time cd0 0.0 0.0 0.0 0 0 13:29:55 hdisk1 0.0 0.0 0.0 0 0 13:29:55 hdisk0 100.0 83712.0 327.0 167424 0 13:29:55 hdisk2 0.0 0.0 0.0 0 0 13:29:55 tty: tin tout avg-cpu: % user % sys % idle % iowait physc % entc time 0.0 8.0 1.3 7.2 87.5 4.0 0.1 10.4 13:29:57 Disks: % tm_act Kbps tps Kb_read Kb_wrtn time cd0 0.0 0.0 0.0 0 0 13:29:57 hdisk1 0.0 0.0 0.0 0 0 13:29:57 hdisk0 20.9 16898.0 66.5 33792 4 13:29:57 hdisk2 10.4 82.0 19.0 0 164 13:29:57 tty: tin tout avg-cpu: % user % sys % idle % iowait physc % entc time 0.0 0.0 0.2 0.6 99.2 0.0 0.0 1.3 13:29:59 Disks: % tm_act Kbps tps Kb_read Kb_wrtn time cd0 0.0 0.0 0.0 0 0 13:29:59 hdisk1 0.0 0.0 0.0 0 0 13:29:59 hdisk0 0.0 0.0 0.0 0 0 13:29:59 hdisk2 0.0 0.0 0.0 0 0 13:29:59
- Das erste und fünfte Intervall zeigen, dass die drei Platten hauptsächlich inaktiv waren, zusammen mit der CPU-Auslastung, die auch als inaktiv in der angezeigt wird.ttyverbessern konnte.
- Das zweite Intervall zeigt die Aktivität an, die mit dem für diesen Test gestarteten Befehl cp generiert wurde. Die Ausführung des Befehls cp in diesem Intervall dauerte 3.14 Sekunden. Im Bericht wird im zweiten Intervall 39.5 % für diehdisk0Platte unter der Metrik tm_act . Im dritten und vierten Intervall werden 100% bzw. 20.9 % für diehdisk0Platte unter der Metrik tm_act . Dies bedeutet, dass diehdisk0Platte während 100% des Zeitintervalls (2 Sekunden) während des dritten Intervalls belegt war und diehdisk0Platte war für 20.9 % des Zeitintervalls (2 Sekunden) während des vierten Intervalls belegt.