Befehl "ioo"

Zweck

Verwaltet die optimierbaren E/A-Parameter (Eingabe/Ausgabe).

Syntax

ioo [ -p | -r ] [-y]{ -o Abstimmbar [ =NeuerWert ] }

ioo [ -p | -r ][-y] {-d Abstimmbar}

ioo [ -p | -r ][-y] -D

ioo [ -p | -r ] [ -F ] -a

ioo -h [ Abstimmbar ]

ioo[-F] -L [ Abstimmbar ]

ioo[-F] -x [ Abstimmbar ]

Hinweis: Es sind mehrere -o, -d, -x und -L Flags erlaubt.

Beschreibung

Hinweis: Der Befehl ioo kann nur von root ausgeführt werden.

Der Befehl ioo konfiguriert die Optimierungsparameter für die Eingabe/Ausgabe (E/A). Dieser Befehl legt die aktuellen oder Warmstartwerte für alle E/A-Optimierungsparameter fest oder zeigt sie an. Dieser Befehl kann auch permanente Änderungen vornehmen oder Änderungen bis zum nächsten Neustart verzögern. Ob der Befehl einen Parameter festlegt oder anzeigt, wird durch das begleitende Flag bestimmt. Das Flag -okann entweder den Wert eines Parameters anzeigen oder einen neuen Wert für einen Parameter festlegen.

Wenn ein Prozess sequenziell aus einer Datei liest, bestimmen die mit dem Parameter minpgahead angegebenen Werte die Anzahl der vorab zu lesenden Seiten, wenn die Bedingung erkannt wird. Der mit dem Parameter maxpgahead angegebene Wert legt die maximale Anzahl vorauszulesender Seiten fest, unabhängig von der Anzahl der vorhergehenden sequenziellen Leseoperationen.

Das Betriebssystem lässt die Optimierung der Anzahl an bufstructs für Dateisysteme (numfsbuf) und der Datenmenge, die vom Write-behind-Algorithmus verarbeitet wird (numclust), zu.

Hinweis: Die abstimmbaren Variablen, die für das gesamte System gelten, können möglicherweise nicht innerhalb einer Workload-Partition geändert werden.

Auswirkungen der Änderung optimierbarer Parameter

Eine unsachgemäße Verwendung des Befehls ioo kann zu Leistungseinbußen und Betriebssystemausfällen führen. Bevor Sie mit dem Befehl ioo experimentieren, müssen Sie mit der Leistungsübersicht des Virtual Memory Manager vertraut sein.

Bevor Sie einen optimierbaren Parameter ändern, müssen Sie zunächst die Informationen zu allen zugehörigen Merkmalen im Abschnitt Optimierbare Parameter lesen und die Anweisungen im Abschnitt "Verweis" befolgen, um den Zweck des Parameters zu verstehen.

Stellen Sie anschließend sicher, dass die Abschnitte "Dignose" und "Optimierung" für diesen Parameter auch wirklich auf Ihre Situation zutreffen und dass eine Änderung des Parameterwerts zu einer Verbesserung der Leistung Ihres Systems beiträgt.

Wenn sowohl im Abschnitt Diagnose als auch im Abschnitt Tuning nur "N/A" steht, dürfen Sie diesen Parameter wahrscheinlich nicht ändern, es sei denn, Sie werden von der AIX® dazu aufgefordert.

Flags

Element Beschreibung
-h[Abstimmbar] Zeigt Hilfe zu optimierbarer_Parameter, sofern ein Parameter angegeben ist. Andernfalls wird der Verwendungshinweis für den Befehl ioo angezeigt.
-a Zeigt den aktuellen, den Reboot- (bei Verwendung mit -r) oder den permanenten (bei Verwendung mit -p) Wert für alle einstellbaren Parameter an, einen pro Zeile in Paaren ' tunable = value. Für die permanente Option wird nur dann ein Wert für einen Parameter angezeigt, wenn der Warmstartwert und der aktuelle Wert identisch sind. Andernfalls wird NONE als Wert angezeigt.
-d Abstimmbar Setzt optimierbarer_Parameter auf seinen Standardwert zurück. Wenn ein Parameter optimierbarer_Parameter geändert werden muss (d. h., wenn er momentan nicht auf seinen Standardwert gesetzt ist) und er den Typ Bosboot oder Reboot hat oder wenn er den Typ Incremental hat und sein Standardwert in einen anderen Wert geändert wurde und die Option -r wird nicht in Kombination mit dieser Option verwendet wird, wird der Parameter nicht geändert, sondern eine Warnung angezeigt.
-D Setzt alle optimierbaren Parameter auf ihre Standardwerte zurück. Wenn optimierbare Parameter, die geändert werden müssen, den Typ Bosboot oder Reboot haben oder wenn sie den Typ Incremental haben und ihr Standardwert in einen anderen Wert geändert wurde und die Option -r nicht in Kombination mit dieser Option verwendet wird, werden sie nicht geändert, sondern es wird stattdessen eine Warnung angezeigt.
-o Abstimmbar[=NewValue ] Zeigt den Wert von optimierbarer_Parameter an oder setzt in auf neuer_Wert. Wenn ein Tunable geändert werden muss (der angegebene Wert unterscheidet sich vom aktuellen Wert) und vom Typ Bosboot oder Reboot ist, oder wenn es vom Typ Incremental ist und sein aktueller Wert größer ist als der angegebene Wert und -r nicht in Kombination verwendet wird, wird es nicht geändert, sondern eine Warnung angezeigt.

Wenn -r ohne neuer_Wert verwendet wird, wird der Warmstartwert für den optimierbaren Parameter angezeigt. Wenn -p ohne neuer_Wert verwendet wird, wird ein Wert nur angezeigt, wenn der aktuelle und der Warmstartwert für optimierbarer_Parameter identisch sind. Andernfalls wird NONE als Wert angezeigt.

-p Gibt an, dass die Änderungen für den aktuellen Wert und den Warmstartwert gelten, wenn dieses Flag in Kombination mit dem Flag -o, -d oder -D verwendet wird. Aktiviert die Aktualisierung der Datei /etc/tunables/nextboot zusätzlich zur Aktualisierung des aktuellen Werts. Diese Kombinationen können für Parameter der Typen Reboot und Bosboot nicht verwendet werden, weil deren aktueller Wert nicht geändert werden kann.

Wenn dieses Flag zusammen mit dem Flag -a oder -o ohne Angabe eines neuen Werts verwendet wird, werden nur dann Werte angezeigt, wenn der aktuelle Wert und der Warmstartwert für einen Parameter identisch sind. Andernfalls wird NONE als Wert angezeigt.

-r Nimmt Änderungen für reboot-Werte vor, wenn dieses Flag zusammen mit dem Flag -o, -d oder -D verwendet wird. Das heißt, dieses Flag aktiviert die Aktualisierung der Datei /etc/tunables/nextboot. Wenn ein Parameter des Typs Bosboot geändert wird, wird der Benutzer aufgefordert, den Befehl bosboot auszuführen.

Bei der Verwendung zusammen mit der Option -a oder -o ohne Angabe eines neuen Werts werden die Warmstartwerte für optimierbare Parameter anstelle der aktuellen Werte angezeigt.

-F Erzwingt die Anzeige eingeschränkter optimierbarer Parameter, wenn Sie das Flag -a, -L oder -x in der Befehlszeile angeben. Wenn Sie das Flag -F nicht angeben, werden eingeschränkte optimierbare Parameter nicht angezeigt, sofern sie nicht zusammen mit einem Anzeigeflag (-o, -a, -x oder -L) angegeben werden.
-L[Abstimmbar] Listet die Merkmale eines oder aller optimierbaren Parameter zeilenweise im folgenden Format auf:
NAME                      CUR    DEF    BOOT   MIN    MAX    UNIT           TYPE 
     DEPENDENCIES 
--------------------------------------------------------------------------------
minpgahead                2      2      2      0      4K     4KB pages         D 
     maxpgahead 
-------------------------------------------------------------------------------- 
maxpgahead                8      8      8      0      4K     4KB pages         D 
     minpgahead 
-------------------------------------------------------------------------------- 
pd_npages                 64K    64K    64K    1      512K   4KB pages         D 
-------------------------------------------------------------------------------- 
maxrandwrt                0      0      0      0      512K   4KB pages         D 
-------------------------------------------------------------------------------- 
numclust                  1      1      1      0             16KB/cluster      D 
-------------------------------------------------------------------------------- 
numfsbufs                 196    196    196                                    M 
-------------------------------------------------------------------------------- 
recoveryMode              1      1      1      0      1      N/A               D 
-------------------------------------------------------------------------------- 
... 
where: 
    CUR = current value 
    DEF = default value 
    BOOT = reboot value 
    MIN = minimal value 
    MAX = maximum value 
    UNIT = tunable unit of measure 
    TYPE = parameter type: D (for Dynamic), S (for Static), R (for Reboot),
               B (for Bosboot), M (for Mount), I (for Incremental),
               C (for Connect), and d (for Deprecated) 
    DEPENDENCIES = list of dependent tunable parameters, one per line
-x[Abstimmbar] Listet die Merkmale eines oder aller optimierbarer Parameter zeilenweise im folgenden (Tabellen-)Format auf:
tunable,current,default,reboot,min,max,unit,type,{dtunable } 


where: 
    current = current value 
    default = default value 
    reboot = reboot value 
    min = minimal value 
    max = maximum value 
    unit = tunable unit of measure 
    type = parameter type: D (for Dynamic), S (for Static), R (for Reboot),
               B (for Bosboot), M (for Mount), I (for Incremental),
               C (for Connect), and d (for Deprecated) 
    dtunable = space separated list of dependent tunable parameters 
-y Unterdrückt die Bestätigungsaufforderung vor der Ausführung des Befehls bosboot.

Wenn Sie eine Änderung (mit der Option -o, -d oder -D) an einem eingeschränkten optimierbaren Parameter vornehmen, wird die Warnung ausgegeben, dass ein optimierbarer Parameter mit eingeschränkter Verwendung geändert wurde. Wenn Sie auch das Flag -r oder -p angeben, werden Sie aufgefordert, die Änderung zu bestätigen. Darüber hinaus werden eingeschränkte optimierbare Parametern, die in der Datei /etc/tunables/nextboot enthalten sind, beim Warmstart des Systems (über eine Befehlszeile mit der Option -r oder -p) in einen vom Standard abweichenden Wert geändert. Diese Änderung führt zu einem Fehlerprotokolleintrag, der die Liste dieser geänderten optimierbaren Parameter enthält.

Wenn Sie einen optimierbaren Parameter ändern, können Sie den Wert des Parameters mit den Abkürzungen K, M, G, T, P und E angeben, um die entsprechenden Werte anzugeben:
Abkürzung Potenz von zwei
K 210
M 220
G 230
T 240
P 250
E 260
Der Wert 1024 für einen optimierbaren Parameter kann also auch mit 1-K angegeben werden.

Bei jeder Änderung (mit dem Flag -o, -d oder -D), die an einem Parameter des Typs "Mount" vorgenommen wird, wird eine Warnung angezeigt, die den Benutzer warnt, dass die Änderung nur für künftige Mounts gilt.

Bei jeder Änderung (mit -o, -d oder -D), die an einem Parameter des Typs "Connect" vorgenommen wird, wird inetd neu gestartet und eine Nachricht angezeigt, die den Benutzer warnt, dass die Änderung nur für künftige Socketverbindungen gilt.

Bei jeder Änderung (mit -o, -d oder -D) eines Parameters des Typs Bosboot oder Reboot ohne -r wird eine Fehlernachricht ausgegeben.

Bei jeder Änderung (mit -o, -d oder -D, aber ohne -r) des aktuellen Werts eines Parameters des Typs Incremental mit einem neuen Wert, der kleiner ist als der aktuelle Wert, wird eine Fehlernachricht ausgegeben.

Typen optimierbarer Parameter

Alle abstimmbaren Parameter, die durch die Abstimmbefehle(no, nfso, vmo, ioo, ' raso und schedo) manipuliert werden, sind diesen Kategorien zugeordnet:
Element Beschreibung
Dynamisch Der Parameter kann jederzeit geändert werden.
Statisch Der Parameter kann nicht geändert werden.
Reboot Der Parameter kann nur während des Warmstarts geändert werden.
Bosboot Der Parameter kann nur geändert werden kann, indem bosboot ausgeführt und die Maschine neu gestartet wird.
Mount Änderungen des Parameters werden erst bei künftigen Dateisystem- oder Verzeichnismounts wirksam.
Incremental Der Parameter kann nur erhöht werden (Bootzeit ausgenommen).
Connect Änderungen am Parameter werden erst bei künftigen Socketverbindungen wirksam.
Deprecated Wenn die Änderung dieses Parameters von der aktuellen Version von AIX nicht mehr unterstützt wird.
Wenn eine Änderung an Parametern des Typs "Bosboot" vorgenommen werden, fragen die Optimierungsbefehle automatisch beim Benutzer nach, ob der Befehl bosboot ausgeführt werden soll. Bei Parametern des Typs "Connect" starten die Optimierungsbefehle den Dämon inetd automatisch erneut.

Anmerkung: zu dem aktuellen Parametersatz, der mit dem Befehl ioo verwaltet wird, gehören nur die Typen Static, Dynamic, Mount und Incremental.

Kompatibilitätsmodus

Im pre-5.2 -Kompatibilitätsmodus (gesteuert durch das pre520tune von sys0, siehe Performance-Tuning-Erweiterungen für AIX 5.2 im AbschnittPerformancemanagement ) sind die Reboot-Werte für Parameter, mit Ausnahme der Parameter vom Typ Bosboot, nicht aussagekräftig, da sie in diesem Modus nicht zur Boot-Zeit angewendet werden.

Im Kompatibilitätsmodus vor 5.2 können Sie Warmstartwerte für Optimierungsparameter festlegen, indem Sie Aufrufe von Optimierungsbefehlen in Scripts einfügen, die während der Bootsequenz aufgerufen werden. Parameter des Typs Reboot können daher ohne das Flag -r gesetzt werden, so dass bestehende Skripte weiterhin funktionieren.

Dieser Modus wird automatisch eingeschaltet, wenn ein Rechner auf AIX 5.2 migriert wird. Bei vollständigen Installationen wird dieser Modus inaktiviert und die Neustartwerte für Parameter werden festgelegt, indem der Inhalt der Datei /etc/tunables/nextboot während der Neustartsequenz angewendet wird. Nur in diesem Modus sind die Flags -r und -p voll funktionsfähig. Weitere Informationen finden Sie unter Kernel-Tuning im Handbuch und in der Referenz zu den Performance Tools.

Optimierbare Parameter

Die Standardwerte und der Wertebereich für Tunables finden Sie in der Hilfe zum Befehl ioo(-h <tunable_parameter_name>).
Element Beschreibung
aio_aktiv
Zweck:
Gibt an, ob die AIO-Kernelerweiterung verwendet und fixiert wird.
Optimierung:
Der Wert 1 gibt an, dass die AIO-Kernelerweiterung verwendet und fixiert wird.
aio_maxreqs
Zweck:
Gibt die maximale Anzahl asynchroner E/A-Anforderungen an, die gleichzeitig anstehen können.
Optimierung:
Die angegebene Anzahl beinhaltet E/A-Anforderungen, die gerade in Bearbeitung sind, und Anforderungen, die auf ihre Ausführung in Warteschlangen warten. Die maximale Anzahl asynchroner E/A-Anforderungen darf nicht kleiner als der Wert von AIO_MAX sein, wie in der Datei /usr/include/sys/limits.h definiert, kann aber größer sein. Ein System mit einem hohen Volumen asynchroner E/A-Anforderungen kann durchaus eine maximale Anzahl asynchroner E/A-Anforderungen haben, die größer ist als AIO_MAX.
aio_maxServer
Zweck:
Gibt die maximal zulässige Anzahl an AIO-Servern (dedizierte Kernelprozesse für die Verarbeitung asynchroner E/A-Anforderungen) für E/A-Anforderungen an langsame Pfade.
Optimierung:
Dieser Wert gilt pro CPU. Der maxservers-Wert darf nicht kleiner sein als minservers. Es können nie mehr als diese Anzahl asynchroner E/A-Anforderungen gleichzeitig ausgeführt werden, d. h., dieser Wert begrenzt die mögliche Anzahl gleichzeitiger E/A-Operationen.
aio_minserver
Zweck:
Gibt die minimal Anzahl an AIO-Servern (dedizierte Kernelprozesse für die Verarbeitung asynchroner E/A-Anforderungen) an, die für die Verarbeitung von E/A-Anforderungen für langsame Pfade aktiv bleiben.
Optimierung:
Dieser Wert gilt pro CPU. Der minservers-Wert darf nicht höher sein als der maxservers-Wert. Wenn die Kernelerweiterung wird, werden keine AIO-Server erstellt, unabhängig von den aktuellen oder Standardeinstellungen. Dieser Wert ermöglicht einen minimalen AIO-Speicherbedarf auf Systemen, auf denen AIO nie verwendet wird. Wenn E/A-Anforderungen eingeleitet werden, werden so lange AIO-Server für deren Verarbeitung erstellt, bis der mit "maxservers" festgelegte zulässige Maximalwert erreicht ist. Sobald der minservers-Wert überschritten wird, fällt die Serveranzahl nicht mehr unter den minservers-Wert.
aio_server_Inaktivität
Zweck:
Gibt an, wie lange ein AIO-Server inaktiv ist, ohne eine E/A-Anforderung zu bearbeiten.
Optimierung:
Bei Überschreitung dieses Zeitlimits wird der Server beendet, sofern die Anzahl verfügbarer Server damit nicht unter den Wert von minservers fällt. Sollte der Wert durch Beendigung des Servers unterschritten werden, bleibt der Server weiterhin inaktiv. Die Inaktivitätszeit des Servers in diesem seltenen Fall ist höher als der aktuelle Wert bzw. Standardwert für server_inactivity. Dies Fall kommt nur selten vor und ein Hinweis darauf, dass ein Ungleichgewicht zwischen der Anzahl verfügbarer Server und dem E/A-Volumen besteht.
dk_geschlossener_Pfad_Wiederherstellung
Zweck:
Aktiviert oder inaktiviert die Unterstützung für die Wiederherstellung von MPIO-Pfaden (Multipath I/O), die beim Schließen der MPIO-Platte den Status "failed" hatten. Die Wiederherstellungsoperation wird nach dem Schließen der MPIO-Platte in regelmäßigen Abständen so oft wiederholt, bis der MPIO-Pfad wiederhergestellt ist. Wenn sich die MPIO-Pfade im Fehlerstatus befinden und die MPIO-Platte bereits geschlossen ist, können die fehlerhaften MPIO-Pfade nicht wiederhergestellt werden, wenn Sie diesen optimierbaren Parameter auf 1 setzen. Mit dem Befehl lsmpio -o -l hdiskXkönnen Sie die MPIO-Platte öffnen und schließen und die Wiederherstellung von MPIO-Pfaden für bereits geschlossene MPIO-Platten einleiten. Dieses Feature wird in AIX-PCMs (Path-Control Module, Pfadsteuerungsmodul) standardmäßig unterstützt.
Optimierung:
Mit dem Wert 0 wird die Unterstützung für die Wiederherstellung von MPIO-Pfaden mit dem Status "failed" inaktiviert. Mit dem Wert 1 wird die Unterstützung für die Wiederherstellung von MPIO-Pfaden mit dem Status "failed" aktiviert. Der Standardwert ist 0.
dk_lbp_aktiviert
Zweck:
Ermöglicht es Ihnen, die Unterstützung für das Logical Block Provisioning (Thin-Provisioning) im AIX zu aktivieren oder zu deaktivieren. Wenn diese Option deaktiviert ist, versucht AIX nicht, die nicht verwendeten Blöcke einer Thin-Provisioned-Platte freizugeben.
Optimierung:
Wert Wert 0 inaktiviert die LBP-Unterstützung (Logical Block Provisioning, Bereitstellung logischer Blöcke). Der Wert 1 aktiviert die LBP-Unterstützung. Der Standardwert ist 1.
dk_lbp_Anzahl_Puffer
Zweck:
Definiert die Größe für den Pool vorab zugeordneter Puffer, die für die LBP-Unterstützung verwendet werden.
Optimierung:
Steuert die maximale Anzahl an unmap-Anforderungen, die zu einer Zeit vom Plattentreiber verarbeitet werden können. Der Pufferpool ist ein systemweiter Ressourcenpool. Auf jeder Thin Provisioning-Platte kann jeweils nur eine einzige unmap-Anforderung aktiv sein. Der Standardwert für diesen Parameter ist 64 (Puffer). Wenn Sie beispielsweise 64 Puffer haben, haben Sie 32 KB (64 Puffer x 512 Byte = 32 KB) fixierten Speicher insgesamt. Die gültigen Werte für diesen optimierbaren Parameter sind 1 bis 1024.
dk_lbp_buf_size
Zweck:
Definiert die Größe jedes Puffers im LBP-Pufferpool. Der Standardwert ist 512 Byte. Dieser Wert kann in 4096 (4 KB) geändert werden. In diesem Fall können Blöcke für Platten freigegeben werden, die eine Blockgröße von 4 KB unterstützen.
Optimierung:
Der Wert für diese Einstellung sollte mit der größten unterstützten Blockgröße einer an das AIX angeschlossenen Festplatte übereinstimmen.
j2_atimeUpdateSymlink
Zweck:
Wenn der abstimmbare Parameter j2_atimeUpdateSymlink auf 1 gesetzt ist, wird die Zugriffszeit von symbolischen JFS2 bei readlink aktualisiert.
Optimierung:
Der Wert 0 gibt an, dass die Zugriffszeiten symbolischer JFS2-Links nicht auf readlink aktualisiert werden. Da die Aktivierung von j2_atimeUpdateSymlink Leistungseinbußen zur Folge hat, darf dieser optimierbare Parameter nur geändert werden, wenn es wirklich erforderlich ist. SUSv3 setzt keine Aktualisierung der Zugriffszeiten auf readlink voraus, aber JFS und viele andere Plattformen aktualisieren die Zugriffszeiten auf readlink. Diese Einstellung ist für die Kompatibilität mit JFS und anderen UNIX-konformen Systemen vorgesehen.
j2_dynamicBufferPreallocation
Zweck:
Gibt die Anzahl der 16-KB-Segmente an, die vorab zugeordnet werden sollen, wenn die Anzahl der bufstructs im Dateisystem knapp wird.
Optimierung:
Ein Wert 16 steht für 256 KB. Das Dateisystem muss nicht erneut gemountet werden. Die bufstructs für JFS2 sind jetzt dynamisch. Die Anzahl der Puffer für die Paging-Einheit wird mit j2_nBufferPerPagerDevice gesteuert, aber danach werden Puffer dynamisch zugeordnet und gelöscht. Wenn die Anzahl der E/A-Anforderungen des externen Pagers für das Dateisystem, die aufgrund von fehlenden fsbufs (Ausgabe von vmstat -v) zunimmt, muss der Wert von j2_dynamicBufferPreallocation für dieses Dateisystem erhöht werden, da die E/A-Last des Dateisystems möglicherweise die Geschwindigkeit der Vorabzuordnung überschreitet. Der Wert 0 inaktiviert die dynamische Pufferzuordnung vollständig.
j2_inodeCacheSize
Zweck:
Steuert die Menge an Speicher, die JFS2 für den Inode-Cache verwendet.
Optimierung:
Der Wert gibt nicht ausdrücklich die Menge an, die verwendet wird, sondern ist ein Skalierungsfaktor. Der Wert des einstellbaren Parameters j2_inodeCacheSize wird in Kombination mit der Größe des Hauptspeichers verwendet, um die maximale Speichernutzung für den Inode-Cache zu bestimmen. Der Skalierungsfaktor für die Größe des Inode-Cache wird wie folgt berechnet: Arbeitsspeicher des Rechners * j2_inodeCacheSize/4000. Der Standardwert des einstellbaren Parameters j2_inodeCacheSize ist 200, was bedeutet, dass die Größe des Inode-Caches bis zu 5 % des Maschinenspeichers einnimmt. Das Hinzufügen und Entfernen von dynamischem Speicher ändert nicht automatisch die Größe des Cache. Der Standardwert für diesen einstellbaren Parameter wurde in AIX Version 7.1 geändert, aber Systeme mit kleineren Hauptspeichergrößen und einer großen Anzahl gleichzeitiger Benutzer oder geöffneter Dateien können mit dem älteren Standardwert von 400 besser funktionieren.
j2_maxPageReadAhead
Zweck:
Gibt die maximale Anzahl an Seiten an, die vorausgelesen werden sollen, wenn eine Datei in JFS2 verarbeitet wird, auf die sequenziell zugegriffen wird.
Optimierung:
Die Differenz zwischen minfree und maxfree muss immer größer-gleich j2_maxPageReadAhead sein. Wenn die Ausführungszeit kürzer wird, wenn sich der Wert von j2_maxPageReadAhead erhöht, stellen Sie sicher, dass sich die Leistung der anderen Anwendungen nicht verschlechtert.
j2_maxRandomWrite
Zweck:
Gibt einen Schwellenwert für wahlfreie Schreiboperationen an, die im Arbeitsspeicher kumuliert werden sollen, bevor nachfolgende Seiten mit dem Write-behind-Algorithmus von JFS2auf Platte geschrieben werden.
Optimierung:
Der zufällige Write-behind-Schwellenwert wird pro Datei angegeben. Dieser einstellbare Parameter ist nützlich, wenn eine große Anzahl von Seiten vom syncd-Daemon gelöscht wird.
j2_metadataCacheSize
Zweck:
Steuert die Speichermenge, die JFS2 für den Metadatencache verwendet.
Optimierung:
Der Wert gibt nicht explizit den verwendeten Betrag an, sondern ist ein Skalierungsfaktor. Der Wert des einstellbaren Parameters j2_metadataCacheSize wird in Kombination mit der Größe des Hauptspeichers verwendet, um die maximale Speichernutzung für den Metadaten-Cache zu bestimmen. Der Skalierungsfaktor für die Größe des Metadaten-Cache wird wie folgt berechnet: Arbeitsspeicher des Rechners * j2_metadataCacheSize/10000. Der Standardwert des einstellbaren Parameters j2_metadataCacheSize ist 200, was bedeutet, dass die Größe der Inode-Metadaten bis zu 2 % des Maschinenspeichers einnimmt. Das Hinzufügen und Entfernen von dynamischem Speicher ändert nicht automatisch die Größe des Cache. Der Standardwert für diesen einstellbaren Parameter wurde in AIX Version 7.1 geändert, aber Systeme mit kleineren Hauptspeichergrößen und einer großen Anzahl gleichzeitiger Benutzer oder geöffneter Dateien können mit dem älteren Standardwert von 400 besser funktionieren.
j2_minPageReadAhead
Zweck:
Gibt die Mindestanzahl Seiten an, die vorausgelesen werden sollen, wenn eine sequenziell aufgerufene Datei unter JFS2 verarbeitet wird.
Optimierung:
Eine Erhöhung kann hilfreich sein, wenn sehr viele umfangreiche sequenzielle Zugriffe vorgenommen werden. Stellen Sie sicher, dass sich die Leistung der anderen Anwendungen nicht verschlechtert. Der Wert 0 kann hilfreich sein, wenn das E/A-Muster zufällig ist.
j2_nPagesPerWriteBehindCluster
Zweck:
Gibt die Anzahl Seiten pro Cluster an, die vom Write-behind-Algorithmus von JFS2verarbeitet werden.
Optimierung:
Eine Erhöhung kann hilfreich sein, wenn mehr Seiten im Arbeitsspeicher gehalten werden müssen, bevor sie für E/A-Anforderungen geplant werden, wenn das E/A-Muster sequenziell ist. Eine Erhöhung kann sinnvoll sein, wenn einheitenübergreifende logische Datenträger oder Plattenarrays verwendet werden.
j2_nRandomCluster
Zweck:
Gibt den Abstand (in Clustern) an, den Schreibvorgänge überschreiten müssen, um vom zufälligen Write-behind-Algorithmus von JFS als zufällig betrachtet zu werden.
Optimierung:
Eine Erhöhung kann hilfreich sein, wenn mehr Seiten im Arbeitsspeicher gehalten müssen, bevor sie für E/A-Anforderungen geplant werden, wenn das E/A-Muster zufällig ist und der entsprechende Write-behind-Algorithmus aktiviert ist (j2_maxRandomWrite).
j2_recoveryMode
Zweck:
Legt das Verhalten für die Wiederherstellung nach JFS2-Schreibfehlern fest.
Optimierung:
Der Standardwert 1 gibt an, dass die automatische Wiederherstellung nach JFS2-Schreibfehlern aktiviert ist. Der Wert 0 gibt an, dass die Dateisysteme bis zum Unmount im herabgesetzten Modus bleiben.
j2_syncByVFS
Zweck:
Ändert die Verzögerung zwischen den einzelnen Aufrufen der Synchronisationsverarbeitung für ein JFS2-Dateisystem.
Optimierung:
Dieser optimierbare Parameter ermöglicht die Synchronisation von JFS2-Dateisystemen in einem Intervall, das von dem Standardintervall des Synchronisationsdämons abweicht. Wenn dieser optimierbare Parameter auf einen Wert ungleich Null gesetzt ist, gibt dieser Wert die Verzögerung zwischen den Iterationen der Synchronisationsverarbeitung für jedes JFS2-Dateisystem in Sekunden an. Mit diesem optimierbaren Parameter können die Synchronisationsoperationen besser verteilt werden, als es mit dem Synchronisationsdämon möglich ist, weil der Synchronisationsdämon alle Dateisysteme gleichzeitig verarbeitet. Außerdem kann mit diesem Parameter die Anzahl der Threads für die Synchronisierungsoperationen für Dateisysteme geändert werden.
j2_syncConcurrency
Zweck:
Ändert die Anzahl der Threads, die zum Synchronisieren von Daten für JFS2-Dateisysteme ausgeführt werden. Jeder Thread bearbeitet nur ein einziges Dateisystem.
Optimierung:
Wenn viele Dateisysteme gemountet sind, kann es erforderlich sein, diesen Wert zu erhöhen, damit alle Dateisysteme zeitgerecht von den Synchronisierungsoperationen bearbeitet werden.
Anmerkung: Dieser Wert ist nur wirksam, wenn der optimierbare Parameter j2_syncByVFS ungleich null ist.
j2_syncDelayReport
Zweck:
Benachrichtigt Sie, wenn die für die Synchronisation der Dateisysteme erforderliche Zeit eine bestimmte Anzahl von Sekunden überschreitet.
Optimierung:
Dieser optimierbare Parameter legt die zulässige Anzahl an Sekunden für die Ausführung der Synchronisierungsverarbeitung für ein Dateisystem fest. Wenn diese Anzahl überschritten wird, wird eine Nachricht in der syslog-Datei generiert. Diese Nachricht ist nur zu Informationszwecken bestimmt und bewirkt keine weiteren Änderungen am Synchronisationsverhalten.
j2_syncPageCount
Zweck:
Legt die maximale Anzahl geänderter Seiten einer Datei fest, die vom Synchronisationsaufruf in einer einzigen Operation auf die Platte geschrieben werden.
Optimierung:
Wenn eine Anwendung, die Dateisystemcaching verwendet, ausgeführt wird und sehr viele zufällige Schreiboperationen ausführt, kann es erforderlich sein, diese Einstellung anzupassen, um größere Verzögerungen bei den Synchronisationsoperationen zu vermeiden.
j2_syncPageLimit
Zweck:
Legt fest, wie oft der Systemaufruf "sync" j2_syncPageCount maximal verwenden kann, um die Anzahl der geschriebenen Seiten zu begrenzen, bevor dieser Wert erhöht wird, um den Fortschritt der Synchronisationsoperation zu ermöglichen.
Optimierung:
Dieser optimierbare Parameter muss gesetzt werden, wenn j2_syncPageCount gesetzt ist, und erhöht werden, wenn der Effekt der j2_syncPageCount-Änderung nicht ausreichend ist.
lvm_bufcnt
Zweck:
Gibt die Anzahl der LVM-Puffer für E/A-Operationen auf physische Rohdatenträger an.
Optimierung:
Anwendungen, die umfangreiche Schreibzugriffe auf einheitenübergreifenden logischen Rohdatenträger ausführen, erreichen die gewünschte Durchsatzrate nicht. LVM teilt umfangreiche E/A-Operationen auf Rohdatenträger in mehrere 128-KB-Puffer ein. Der Wert 9 bedeutet, dass etwa 1 MB an E/A-Operationen verarbeitet werden können, ohne auf weitere Puffer zu warten. Wenn ein System mit einheitenübergreifenden logischen Rohdatenträgern konfiguriert ist und Schreiboperationen mit mehr als 1,125 MB durchführt, kann eine Erhöhung dieses Werts den Durchsatz der Anwendung verbessern. Wenn ein System E/A-Operationen mit mehr als 1 MB auf Rohdatenträger durchführt, kann eine Erhöhung dieses Werts sinnvoll sein.
maxpgahead
Zweck:
Gibt die maximale Anzahl an Seiten an, die vorausgelesen werden sollen, wenn eine Datei verarbeitet wird, auf die sequenziell zugegriffen wird.
Optimierung:
Der Wert muss eine Zweierpotenz und größer-gleich dem minpgahead-Wert sein. Beobachten Sie die abgelaufene Ausführungszeit kritischer Anwendungen, die von sequenziellen E/A-Operationen abhängig sind, mit dem Befehl "time". Aufgrund der Beschränkungen im Kernel sollten Sie den Maximalwert von 512 nicht überschreiten. Die Differenz zwischen minfree und maxfree muss immer größer-gleich maxpgahead sein. Wenn sich die Ausführungszeiten bei einem höheren maxpgahead-Wert verkürzen, beobachten Sie weitere Anwendungen, um sicherzustellen, dass sich deren Leistung nicht verschlechtert.
maxrandwrt
Zweck:
Gibt einen Schwellenwert (in 4-KB-Seiten) für zufällige Schreiboperationen im Arbeitsspeicher an, bei dessen Überschreitung weitere Seiten mithilfe des Write-behind-Algorithmus auf die Platte ausgelagert werden.
Optimierung:
Der Write-behind-Schwellenwert ist dateibasiert. Der maximale Wert gibt die größte Dateigröße in Seiten an. Sie können den Wert ändern, wenn vmstat n in regelmäßigen Abständen Spitzen bei den Auslagerungen und E/A-Wartezeiten anzeigt (gewöhnlich, wenn der Synchronisationsdämon Seiten auf die Platte schreibt). Es ist sinnvoll, diesen Wert auf 1 oder einen höheren Wert zu setzen, wenn während der Ausführung von syncd zahlreiche E/A-Operationen zu verzeichnen sind. Der Wert 0 inaktiviert den Write-behind-Algorithmus und zeigt an, dass zufällige Schreiboperationen im Arbeitsspeicher verbleiben, bis eine Synchronisationsoperation durchgeführt wird. Durch die Festlegung von maxrandwrt wird sichergestellt, dass diese Schreiboperationen auf die Platte geschrieben werden, bevor die Synchronisationsoperation ausgeführt wird. Es kann jedoch zu Leistungseinbußen kommen, weil die Datei dann jedes Mal auf die Platte geschrieben wird. Optimieren Sie diese Option so, dass eine bessere interaktive Antwortzeit einem höheren Durchsatz vorgezogen wird. Nach dem Erreichen des Schwellenwerts werden alle weiteren Seiten sofort auf die Platte geschrieben. Die Seiten bis zum Erreichen des Schwellenwerts bleiben bis zu einer Synchronisationsoperation im Arbeitsspeicher.
numclust
Zweck:
Gibt die Anzahl der 16-K-Cluster an, die vom sequentiellen Write-behind-Algorithmus des VMM verarbeitet werden.
Optimierung:
Eine Erhöhung kann hilfreich sein, wenn mehr Seiten im Arbeitsspeicher gehalten werden müssen, bevor sie für E/A-Anforderungen geplant werden, wenn das E/A-Muster sequenziell ist. Eine Erhöhung kann sinnvoll sein, wenn einheitenübergreifende logische Datenträger oder Plattenarrays verwendet werden.
numfsbufs
Zweck:
Gibt die Anzahl der Dateisystem bufstructs für das Dateisystem an.
Optimierung:
Das Dateisystem muss erneut gemountet werden. Wenn der VMM auf ein freies bufstruct warten muss, reiht er den Prozess in die VMM-Warteliste ein, bevor die erste E/A-Anforderung ausgeführt wird, und aktiviert ihn, sobald ein bufstruct verfügbar ist. Eine Erhöhung kann sinnvoll sein, wenn einheitenübergreifende logische Datenträger oder Plattenarrays verwendet werden.
pd_Seiten
Zweck:
Gibt die Anzahl der Seiten an, die beim Löschen einer Datei in einem Block aus dem Arbeitsspeicher gelöscht werden müssen.
Optimierung:
Der maximale Wert gibt die größte Dateigröße in Seiten an. Echtzeitanwendungen, deren Antwortzeiten beim Löschen von Dateien stark zunehmen. Die Optimierung dieser Option eignet sich nur für Echtzeitanwendungen. Wenn die Echtzeitantwort kritisch ist, kann durch die Anpassung dieser Option die Antwortzeit verbessert werden, indem das Entfernen von Dateiseiten aus dem Arbeitsspeicher aus dem Arbeitsspeicher gleichmäßiger über eine Workload verteilt wird.
posix_aio_aktiv
Zweck:
Gibt an, ob die AIO-Kernelerweiterung verwendet und fixiert wird.
Optimierung:
Der Wert 1 gibt an, dass die AIO-Kernelerweiterung verwendet und fixiert wird.
posix_aio_maxreqs
Zweck:
Gibt die maximale Anzahl asynchroner E/A-Anforderungen an, die gleichzeitig anstehen können.
Optimierung:
Die angegebene Anzahl beinhaltet E/A-Anforderungen, die gerade in Bearbeitung sind, und Anforderungen, die auf ihre Ausführung in Warteschlangen warten. Die maximale Anzahl asynchroner E/A-Anforderungen darf nicht kleiner als der Wert von AIO_MAX sein, wie in der Datei /usr/include/sys/limits.h definiert, kann aber größer sein. Ein System mit einem hohen Volumen asynchroner E/A-Anforderungen kann durchaus eine maximale Anzahl asynchroner E/A-Anforderungen haben, die größer ist als AIO_MAX.
posix_aio_maxServer
Zweck:
Gibt die maximal zulässige Anzahl an AIO-Servern (dedizierte Kernelprozesse für die Verarbeitung asynchroner E/A-Anforderungen) für E/A-Anforderungen an langsame Pfade.
Optimierung:
Dieser Wert gilt pro Prozessor. Der maxservers-Wert darf nicht kleiner sein als minservers. Es können nie mehr als diese Anzahl asynchroner E/A-Anforderungen gleichzeitig ausgeführt werden, d. h., dieser Wert begrenzt die mögliche Anzahl gleichzeitiger E/A-Operationen.
posix_aio_minserver
Zweck:
Gibt die minimal Anzahl an AIO-Servern (dedizierte Kernelprozesse für die Verarbeitung asynchroner E/A-Anforderungen) an, die für die Verarbeitung von E/A-Anforderungen für langsame Pfade aktiv bleiben.
Optimierung:
Dieser Wert gilt pro CPU. Der minservers-Wert darf nicht höher sein als der maxservers-Wert. Wenn die Kernelerweiterung wird, werden keine AIO-Server erstellt, unabhängig von den aktuellen oder Standardeinstellungen. Dieser Wert ermöglicht einen minimalen AIO-Speicherbedarf auf Systemen, auf denen AIO nie verwendet wird. Wenn E/A-Anforderungen eingeleitet werden, werden so lange AIO-Server für deren Verarbeitung erstellt, bis der mit maxservers festgelegte zulässige Maximalwert erreicht ist. Sobald der minservers-Wert überschritten wird, fällt die Serveranzahl nicht mehr unter den minservers-Wert.
posix_aio_server_Inaktivität
Zweck:
Gibt an, wie lange ein AIO-Server inaktiv ist, ohne eine E/A-Anforderung zu bearbeiten.
Optimierung:
Bei Überschreitung dieses Zeitlimits wird der Server beendet, sofern die Anzahl verfügbarer Server damit nicht unter den Wert von minservers fällt. Sollte der Wert durch Beendigung des Servers unterschritten werden, bleibt der Server weiterhin inaktiv. Die Inaktivitätszeit des Servers in diesem seltenen Fall ist höher als der aktuelle Wert bzw. Standardwert für server_inactivity. Dies Fall kommt nur selten vor und ein Hinweis darauf, dass ein Ungleichgewicht zwischen der Anzahl verfügbarer Server und dem E/A-Volumen besteht.

Hauptspeicherbelegung und Statistiken

Geben Sie den folgenden Befehl ein, um die Hauptspeicherbelegung des Dateisystems anzuzeigen:
cat /proc/sys/fs/jfs2/memory_usage
Dieser Befehl gibt den Metadatencache, den I-Node-Cache und die Gesamtspeicherbelegung in Byte zurück.
Geben Sie den folgenden Befehl ein, um die Dateisystemstatistiken anzuzeigen:
cat /proc/sys/fs/jfs2/statistics
Dieser Befehl gibt die Anzahl der iCache-Treffer, icache-Fehltreffer und icache-Aktivierungen zurück.
Geben Sie den folgenden Befehl ein, um die für die LBP-Unterstützung relevanten Systemstatistiken anzuzeigen, wie z. B. die Häufigkeit fehlender Puffer und die Anzahl der fehlgeschlagenen unmap-Operationen:
cat/proc/sys/disk/lbp/statistics

Sicherheit

Achtung RBAC-Benutzer und vertrauenswürdige AIX: Dieser Befehl kann privilegierte Operationen durchführen. Privilegierte Operationen können nur von privilegierten Benutzern ausgeführt werden. Weitere Informationen über Berechtigungen und Privilegien finden Sie unter Privilegierte Befehlsdatenbank in Sicherheit. Eine Liste der Berechtigungen und Autorisierungen, die diesem Befehl zugeordnet sind, finden Sie in den Beschreibungen des Befehls lssecattr und des Unterbefehls getcmdattr.

Beispiele

  1. Geben Sie den folgenden Befehl ein, um den aktuellen Wert, den Warmstartwert, den Bereich, die Einheit, den Typ und die Abhängigkeiten aller optimierbaren, die vom Befehl ioo verwaltet werden, aufzulisten:
    ioo -L 
  2. Geben Sie den folgenden Befehl ein, um den aktuellen Wert, den Standardwert, den Warmstartwert, den Bereich, die Einheit und den Typ des optimierbaren Parameters "j2_recoveryMode" aufzulisten:
    ioo -L j2_recoveryMode
    Die Ausgabe könnte eine Liste wie die folgende sein:
    NAME              CUR    DEF    BOOT   MIN    MAX    UNIT          TYPE
    -----------------------------------------------------------------------
    recoveryMode       1      1       1     0      1      n/a            D
    -----------------------------------------------------------------------
  3. Geben Sie den folgenden Befehl ein, um Hilfeinformationen für den optimierbaren Parameter "j2_nPagesPerWriteBehindCluster" anzuzeigen:
    ioo -h j2_nPagesPerWriteBehindCluster 
  4. Geben Sie den folgenden Befehl ein, um maxrandwrt nach dem nächsten Warmstart auf 4 zu setzen:
    ioo -r -o maxrandwrt=4
  5. Geben Sie den folgenden Befehl ein, um alle optimierbaren ioo-Parameter automatisch auf die Standardwerte zurückzusetzen:
     ioo -p -D 
  6. Geben Sie den folgenden Befehl ein, um die Warmstartwerte aller optimierbaren ioo-Parameter aufzulisten:
     ioo -r -a
  7. Geben Sie den folgenden Befehl ein, um den aktuellen Wert, den Warmstartwert, den Bereich, die Einheit, den Typ und die Abhängigkeiten aller vom Befehl ioo verwalteten optimierbaren Parameter (im Tabellenformat) aufzulisten:
    ioo -x