ioo コマンド

目的

入出力 (I/O) チューナブル・パラメーターを管理します。

構文

ioo [ -p | -r ] [-y]{ -o Tunable [ =NewValue ] }

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

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

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

ioo -h [ Tunable ]

ioo [-F] -L [ Tunable ]

ioo [-F] -x [ Tunable ]

注: -o-d-x および -L フラグは複数使用が許可されています。

説明

注: ioo コマンドを実行できるのは root からのみです。

ioo コマンドは入出力 (I/O) チューニング・パラメーターを構成します。このコマンドは、すべての I/O チューニング・パラメーターの現行値または次のブート値を設定または表示します。このコマンドは、永久的な変更を行うことも、次のリブートまで変更を遅らせることもできます。 このコマンドでパラメーターを設定するか、表示するかは、指定するフラグによって決まります。-o フラグは、パラメーターの値を表示したり、パラメーターに新しい値を設定したりできます。

プロセスがファイルから順次読み取る場合、minpgahead パラメーターで指定された値は、条件が最初に検出されるときに先読みされるページ数を決定します。maxpgahead パラメーターで指定された値は、先行する順次読み取り数に関係なく、先読みされる最大ページ数を設定します。

このオペレーティング・システムでは、ファイルシステム bufstruct の数 (numfsbuf) および後書きアルゴリズムで処理されるデータ量 (numclust) のチューニングが許可されています。

注: システム全体に適用されるチューナブル変数は、ワークロード・パーティション内から変更できません。

チューナブル・パラメーターの変更の影響について

ioo コマンドの誤用が原因で、 パフォーマンスの低下またはオペレーティング・システムの障害が引き起こされる可能性があります。 ioo コマンドを試してみることを開始する前に、仮想メモリー・マネージャー (VMM) のパフォーマンスの概要を熟知しておく必要があります。

チューナブル・パラメーターを変更する前に、まずチューナブル・パラメーターのセクションでチューナブル・パラメーターのすべての特性についてお読みになり、すべての参照先ポインターを確認し、その目的を十分に理解してください。

その上で、このパラメーターの「診断」と「チューニング」のセクションが本当にご使用の状況に適用されるか、およびこのパラメーターの値の変更がシステムのパフォーマンスを改善するのに役立つ場合があるかを確認する必要があります。

「診断」セクションと「チューニング」セクションの両方に「N/A」とのみ記されている場合、AIX® の開発側から指示がない限り、多くの場合、このパラメーターを変更してはなりません。

フラグ

項目 説明
-h [Tunable] チューナブル・パラメーターを指定すると、チューナブル・パラメーターに関するヘルプを表示します。チューナブル・パラメーターを指定しない場合は、ioo コマンドの使用法に関するステートメントが表示されます。
-a すべてのチューナブル・パラメーターの現行値、リブート値 (-r と併用した場合) または永続値 (-p と併用した場合) は、tunable = value が組になり、1 行に 1 組ずつ表示されます。 永続オプションでは、 パラメーターのリブート値と現在値が等しい場合、パラメーターに対して 1 つの値が表示されるだけです。 そうでない場合は値として NONE が表示されます。
-d Tunable Tunable をデフォルト値にリセットします。 Tunable を変更する必要があり (すなわち、そのパラメーターがデフォルト値に設定されていない)、そのタイプが Bosboot または Reboot である場合、あるいはタイプが Incremental で、デフォルト値から変更されており、-r が組み合わせて使用されていない場合、パラメーターは変更されずに、警告が表示されます。
-D すべてのチューナブル・パラメーターをそれぞれのデフォルト値にリセットします。変更の必要なチューナブル・パラメーターのタイプが Bosboot または Reboot である場合、あるいはタイプが Incremental で、デフォルト値から変更されており、-r と組み合わせて使用されていない場合、チューナブル・パラメーターは変更されませんが、警告が表示されます。
-o Tunable [=NewValue ] 値を表示するか、TunableNewValue に設定します。Tunable を変更する必要があり (指定された値が現行値と異なる)、そのタイプが Bosboot または Reboot である場合、あるいはタイプが Incremental であり、その現行値が指定された値より大きく、-r が組み合わされて使用されていない場合、チューナブルは変更されずに、警告が表示されます。

-rNewValue なしで使用される場合、チューナブルの nextboot 値が表示されます。 -pNewValue なしで使用される場合、Tunable の現行値が次のブート値と等しい場合にのみ値が表示されます。そうでない場合は値として NONE が表示されます。

-p -o-d、または -D フラグと併用した場合に、変更が現行値およびリブート値の両方に適用されるように指定します。 現行値の更新に加えて /etc/tunables/nextboot ファイルの更新をオンにします。 これらの組み合わせは、 タイプが Reboot および Bosboot のパラメーター、 すなわち現行値を変更できないパラメーターでは使用できません。

新規の値を指定しないで -a または -o と併用すると、 パラメーターの現行値と次のブート値が等しい場合にのみ値が表示されます。 そうでない場合は値として NONE が表示されます。

-r -o-d、または -D フラグと併用されたときに reboot 値に適用される変更を行います。すなわち、/etc/tunables/nextboot ファイルの更新をオンにします。 タイプが Bosboot のパラメーターを変更する場合には、 Bosboot を実行するようにプロンプトが出されます。

新規の値を指定しないで -a または -o と併用すると、チューナブル・パラメーターの次のブート値が、現行値の代わりに表示されます。

-F コマンド・ラインに -a-L、または -x フラグを指定する際に、制限付きチューナブル・パラメーターを強制的に表示します。-F フラグを指定しない場合は、制限付きチューナブルは、表示フラグ (-o、-a、-x、または -L フラグ) に関連して指定されない限り、組み込まれません。
-L [ Tunable] 1 つまたはすべてのチューナブル・パラメーターの特性を、次のフォーマットで 1 行に 1 つずつリストします。
NAME                      CUR    DEF    BOOT   MIN    MAX    UNIT           TYPE 
     DEPENDENCIES 
--------------------------------------------------------------------------------
minpgahead                2      2      2      0      4K     4KB ページ        D
     maxpgahead 
-------------------------------------------------------------------------------- 
maxpgahead                8      8      8      0      4K     4KB ページ        D
     minpgahead 
-------------------------------------------------------------------------------- 
pd_npages                 64K    64K    64K    1      512K   4KB ページ        D
-------------------------------------------------------------------------------- 
maxrandwrt                0      0      0      0      512K   4KB ページ        D
-------------------------------------------------------------------------------- 
numclust                  1      1      1      0             16KB/クラスター   D
-------------------------------------------------------------------------------- 
numfsbufs                 196    196    196                                    M 
-------------------------------------------------------------------------------- 
recoveryMode              1      1      1      0      1      N/A               D 
-------------------------------------------------------------------------------- 
... 
説明:
    CUR = 現行値
    DEF = デフォルト値
    BOOT = リブート値
    MIN = 最小値
    MAX = 最大値
    UNIT = チューナブル計測単位
    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 [Tunable] 1 つまたはすべてのチューナブルの特性を、以下の (スプレッドシート) 形式で、1 行に 1 つずつリストします。
tunable,current,default,reboot,min,max,unit,type,{dtunable } 


説明:
    current = 現行値
    default = デフォルト値
    reboot = リブート値
    min = 最小値
    max = 最大値
    unit = チューナブル計測単位
    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 bosboot コマンドが実行される前に、確認プロンプトを抑制します。

-o-d、または -D フラグを使用して、制限付きチューナブル・パラメーターを変更すると、限定使用タイプのチューナブル・パラメーターが変更されることをユーザーに警告するための警告メッセージが出されます。また、-r または -p フラグを指定した場合は、変更の確認を求めるプロンプトが出されます。さらに、システムのリブート時に、/etc/tunables/nextboot ファイル内にある制限付きチューナブル・パラメーターの値は、そのデフォルト値とは異なる値に変更されます (-r または -p フラグを指定したコマンド・ラインを使用して)。この変更により、これらの変更済みチューナブル・パラメーターのリストを識別するエラー・ログ・エントリーが生じます。

チューナブルを変更するときは、チューナブル・パラメーター値を、対応する値を示す省略語 K、M、G、T、P、および E を使用して指定することができます。
省略語 2 の累乗
K 210
M 220
G 230
T 240
P 250
E 260
したがって、1024 のチューナブル値は、1K のように指定されます。

Mount タイプのパラメーターを変更すると (-o-d、または -D フラグを使用して)、それ以降のマウント操作にのみ変更内容が有効になることを示す警告メッセージが表示されます。

Connect タイプのパラメーターを変更すると (-o-d または -D フラグを使用して)、inetd が再始動され、その変更が将来のソケット接続にしか有効でないことを示す警告メッセージが表示されます。

-r を指定しないで、Bosboot または Reboot タイプのパラメーターを変更 (-o-d、 または -D フラグを使用して) しようとすると、エラー・メッセージが表示されます。

Incremental タイプのパラメーターの現行値をそれより小さい新規の値に変更 (-o-d、または -D フラグを使用しますが、 -r フラグは使用しません) しようとすると、エラー・メッセージが表示されます。

チューナブル・パラメーターのタイプ

チューニング・コマンド (nonfsovmoiooraso、および schedo) で操作されるすべてのチューナブル・パラメーターは、下記のカテゴリーに分類されています。
項目 説明
Dynamic パラメーターをいつでも変更できる場合
Static パラメーターをいかなる時にでも変更できない場合
Reboot パラメーターをリブート時にのみ変更できる場合
Bosboot bosboot を実行してマシンをリブートすることによってのみパラメーターを変更できる場合
Mount パラメーターの変更が将来のファイルシステムまたはディレクトリーのマウントにのみ有効である場合
Incremental ブート時を除き、パラメーターが徐々に増加することが可能な場合
Connect パラメーターの変更が将来のソケット接続にのみ有効である場合
Deprecated このパラメーターの変更が AIX の現行リリースでサポートされなくなっている場合
Bosboot タイプのパラメーターに関しては、変更が実行される時はいつも、チューニング・コマンドが自動的にユーザーにプロンプトを出して bosboot コマンドを実行するかどうかを尋ねます。Connect タイプのパラメーターに関しては、チューニング・コマンドが自動的に inetd デーモンを再始動させます。

注: ioo コマンドによって管理されるパラメーターの現行セットには、Static、Dynamic、Mount、および Incremental のタイプのみが含まれます。

互換モード

5.2 より前の互換モード (sys0pre520tune 属性で制御されます。「パフォーマンス・マネージメント」のAIX 5.2 パフォーマンス・チューニング機能強化』を参照) で実行する場合、Bosboot タイプ以外のパラメーターのリブート値は、意味がありません。このモードではそれらの値はブート時に適用されないためです。

5.2 より前の互換モードでは、ブート・シーケンス中に呼び出されるスクリプトにチューニング・コマンドの呼び出しを埋め込むことによって、リブート値をチューニング・パラメーターへ設定し続けます。したがって、-r フラグを使用しないで Reboot タイプのパラメーターを設定できるので、既存のスクリプトを続けて使用できます。

このモードは、マシンを AIX 5.2 にマイグレーションすると、自動的にオンになります。完全インストールの場合、このモードはオフになり、パラメーターのリブート値は、リブート・シーケンス中に /etc/tunables/nextboot ファイルの内容を適用して設定されます。 -r および -p フラグが完全に機能するのは、このモードのときだ けです。詳しくは、「Performance Tools Guide and Reference」の『Kernel Tuning』を参照してください。

チューナブル・パラメーター

チューナブル・パラメーターのデフォルト値および値の範囲については、ioo コマンド・ヘルプ (-h <tunable_parameter_name>) を参照してください。
項目 説明
aio_active
目的:
AIO カーネル・エクステンションが使用され、ピンされているかどうかを指定します。
チューニング:
値 1 は、AIO カーネル・エクステンションが使用され、ピンされていることを指定します。
aio_maxreqs
目的:
一時点で未解決のままにしておくことができる非同期入出力要求の最大数を指定します。
チューニング:
指定された数には、進行中である入出力要求だけでなく、キューで開始を待機中の入出力要求も含まれます。 非同期入出力要求の最大数は、/usr/include/sys/limits.h ファイルに定義された AIO_MAX の値より小さくすることはできませんが、それより大きくすることはできます。 大量の非同期入出力があるシステムに、AIO_MAX より大きい非同期入出力要求の最大数があると適切である場合があります。
aio_maxservers
目的:
スロー・パス入出力要求を処理できる AIO サーバー (非同期入出力処理専用のカーネル・プロセス) の最大数を指定します。
チューニング:
この値は CPU ごとの値です。maxservers の値を minservers より小さくすることはできません。一時点で進行中の非同期入出力要求の数をこれより大きくすることはできないので、この数が並行して行える入出力数を制限することになります。
aio_minservers
目的:
スロー・パス入出力要求を処理するためにアクティブなままである AIO サーバー (非同期入出力処理専用のカーネル・プロセス) の最小数を指定します。
チューニング:
この値は CPU ごとの値です。minservers の値を maxservers より大きくすることはできません。カーネル・エクステンションがロードされる場合、現行の設定値またはデフォルトの設定値にかかわらず、AIO サーバーは作成されません。この値により、AIO が使用されないシステムで最低限の AIO 占有スペースが許容されます。入出力要求が開始されると、maxservers の最大許容値に到達するまで、それらの要求にサービスするために AIO サーバーが作成されます。minservers 値を超えると、サーバー数は minservers より少なくなることはありません。
aio_server_inactivity
目的:
AIO サーバーが入出力要求を処理せずにスリープする期間を指定します。
チューニング:
この時間制限を超えると、サーバーは終了します。ただし、使用可能なサーバー数が minservers を下回る場合を除きます。この場合、サーバーはスリープに戻ります。このまれなケースでサーバーがスリープする時間は、server_inactivity の現行値とデフォルト値に指定されている時間のどちらか大きい方になります。これはまれなケースであり、使用可能なサーバー数と入出力量との間にアンバランスが存在する場合があることを示します。
変更の始めdk_closed_path_recovery変更の終わり 変更の始め
目的:
MPIO ディスクがクローズされたときに「障害」状態であったマルチパス入出力 (MPIO) パスをリカバリーするためのサポートを有効または無効にします。 MPIO パスがリカバリーされるまで、リカバリー操作は、MPIO ディスクがクローズされた後で定期的に試みられます。 MPIO パスが「障害」状態である場合、または MPIO ディスクがすでにクローズされている場合、このチューナブル・パラメーターが 1 に設定されていると、障害のある MPIO パスをリカバリーすることはできません。 lsmpio -o -l hdiskX といったコマンドを使用することによって、MPIO ディスクをオープンおよびクローズでき、また既にクローズされている MPIO ディスクの MPIO パスのリカバリーを開始できます。 この機能はデフォルトで、AIX パス制御モジュール (PCM) でサポートされています。
チューニング:
値 0 で、「障害」状態の MPIO パスをリカバリーするためのサポートが無効になります。 値 1 で、「障害」状態の MPIO パスをリカバリーするためのサポートが有効になります。 デフォルト値は 0 です。
変更の終わり
dk_lbp_enabled
目的:
AIX オペレーティング・システムで、論理ブロック・プロビジョニング (シン・プロビジョニング) のサポートを有効または無効にできるようにします。無効にすると、AIX は未使用ブロックをシン・プロビジョニングされたディスクから解放しようとしません。
チューニング:
値 0 は、論理ブロック・プロビジョニング (LBP) サポートを無効にします。値 1 は LBP サポートを有効にします。デフォルト値は 1 です。
dk_lbp_num_bufs
目的:
LBP サポートに使用される事前割り振りバッファーのプールのサイズを定義します。
チューニング:
ディスク・ドライバーで常時処理可能なマップ解除 要求の最大数を制御します。バッファー・プールは、システム全体のリソース・プールです。どのシン・プロビジョニングされたディスク上でも、一度にアクティブにできるマップ解除 要求は 1 つだけです。このパラメーターのデフォルト値は 64 (バッファー) です。例えば、64 個のバッファーがある場合、合計ピン・メモリーは 32 KB (64 バッファー× 512 バイト = 32 KB) です。このチューナブルの値は、1 から 1024 までの範囲内にあることが必要です。
dk_lbp_buf_size
目的:
LBP バッファー・プール内の各バッファーのサイズを定義します。デフォルト値は 512 バイトです。この値は 4096 (4K) に変更できます。その場合、4K ブロック・サイズをサポートするディスク用にブロックを解放できます。
チューニング:
このチューナブルの値は、AIX システムに接続されたすべてのディスクでサポートされる最大ブロック・サイズと同じ値にする必要があります。
j2_atimeUpdateSymlink
目的:
j2_atimeUpdateSymlink が 1 に設定される場合、拡張ジャーナル・ファイルシステム (JFS2 または拡張 JFS) のシンボリック・リンクのアクセス時間は readlink で更新されます。
チューニング:
値 0 は、JFS2 シンボリック・リンクのアクセス時間が readlink で更新されないことを示します。j2_atimeUpdateSymlink をオンにすることに関連したパフォーマンスの低下があるため、実際に必要な場合を除いて、このチューナブル・パラメーターを変更しないでください。SUSv3 では、readlink でのアクセス時間の更新は不要ですが、JFS やその他の多くのプラットフォームは、readlink でアクセス時間の更新を行います。このチューナブル・パラメーターは、JFS やその他の UNIX 準拠システムとの互換性を確保するために提供されます。
j2_dynamicBufferPreallocation
目的:
ファイルシステムで bufstructs が不足している場合に事前割り振りする 16 K スラブ数を指定します。
チューニング:
値が 16 の場合は 256-K を表します。ファイルシステムは再マウントする必要がありません。 JFS2 の bufstructs は、これで動的になります。ページング・デバイス上で開始されるバッファーの数は、j2_nBufferPerPagerDevice によって制御されますが、この初期値の後、バッファーは動的に割り当てられ、破棄されます。fsbuf なしでブロック化された外部ページャー・ファイルシステム I/O 数 (vmstat -v によって表示される) が増える場合、そのファイルシステムの入出力ロードが事前割り振り速度を超える可能性があるので、そのファイルシステムの j2_dynamicBufferPreallocation を増やす必要があります。値 0 は動的バッファー割り振りを完全に使用不可にします。
j2_inodeCacheSize
目的:
JFS2 が i ノード・キャッシュに使用するメモリーの量を制御します。
チューニング:
この値は、使用される量を明示的に示すものではなく、スケール因数です。i ノード・キャッシュの最大メモリー使用量を判別するために、メインメモリーのサイズと組み合わせて使用されます。
j2_maxPageReadAhead
目的:
JFS2 上で順次アクセスされるファイルが処理されるときに、先読みする最大ページ数を指定します。
チューニング:
minfreemaxfree の差は、常に j2_maxPageReadAhead 以上になる必要があります。j2_maxPageReadAhead の値が増えるときに実行時間が減る場合、他のアプリケーションのその他のパフォーマンスが低下していないことを確認してください。
j2_maxRandomWrite
目的:
JFS2 の後書きアルゴリズムによって後続のページがディスクにフラッシュされる前に RAM に累積されるランダム書き込みのしきい値を指定します。
チューニング:
ランダム後書きしきい値は、1 ファイル当たりを基準にしています。syncd によってフラッシュされるページが多すぎる時に有効です。
j2_metadataCacheSize
目的:
拡張 JFS がメタデータ・キャッシュに使用するメモリーの量を制御します。
チューニング:
この値は、使用されていない量を明示的に示すのではなく、倍率です。これは、i ノード・キャッシュの最大メモリー使用量を判別するためにメイン・メモリーのサイズと組み合わせて使用されます。
j2_minPageReadAhead
目的:
拡張 JFS 上で順次アクセスされるファイルの処理時に先読みする最小ページ数を指定します。
チューニング:
大きな順次アクセスが数多く行われる場合には増やすと有効です。 他のアプリケーションのパフォーマンスが低下していないことを確認してください。 I/O パターンが完全にランダムである場合は、値 0 が有効です。
j2_nPagesPerWriteBehindCluster
目的:
拡張 JFS の後書きアルゴリズムによって処理される、クラスター当たりのページ数を指定します。
チューニング:
I/O パターンが順次であるときに、I/O にスケジュールされる前に RAM に保持するページ数を増やす必要がある場合には、この値を増やすと有効です。ストライピングされた論理ボリュームまたはディスク・アレイが使用されている場合、この値を増やすのが適切な場合があります。
j2_nRandomCluster
目的:
拡張 JFS のランダム後書きアルゴリズムによりランダムと見なされるために超えている必要がある 2 つの書き込みの距離 (クラスター単位) を指定します。
チューニング:
I/O パターンがランダムでランダム後書きが使用可能であるときに、I/O 用にページをスケジュールする前に RAM に保持するページ数を増やす必要がある場合には、この値を増やすと有効です (j2_maxRandomWrite)。
j2_recoveryMode
目的:
JFS2 書き込みエラーからリカバリーするための動作を設定します。
チューニング:
1 のデフォルト値は、JFS2 書き込みエラーからの自動リカバリーが設定されていることを示します。0 の値は、ファイルシステムがアンマウントされるまで低下モードのままであることを示します。
j2_syncByVFS
目的:
JFS2 ファイルシステムの同期処理の各呼び出し間の遅延を変更します。
チューニング:
このチューナブルにより、JFS2 ファイルシステムは、標準同期デーモンの期間とは異なる速度で同期できます。このチューナブルがゼロ以外の値に設定された場合、その秒数が、各 JFS2 ファイルシステムの同期処理の反復の間の遅延になります。このチューナブルを使用することにより、同期デーモンが分散できるよりも広く同期操作を分散できます。同期デーモンはすべてのファイルシステムを同時に処理するためです。また、ファイルシステムの同期操作を処理するスレッド数を変更できます。
j2_syncConcurrency
目的:
JFS2 ファイルシステムへのデータを同期するために実行されるスレッドの数を変更します。各スレッドは、一度に 1 つのファイルシステムで実行されます。
チューニング:
多数のファイルシステムがマウントされている場合、すべてのファイルシステムが同期操作によってタイムリーに処理されるように、この値を増やすことが必要になる可能性があります。
注: この値が有効になるのは、j2_syncByVFS チューナブル・パラメーターがゼロ以外の値である場合だけです。
j2_syncDelayReport
目的:
ファイルシステムの同期に要する時間が指定の秒数を超える場合に通知します。
チューニング:
このチューナブル・パラメーターは、ファイルシステムの同期処理を完了するために許可される秒数を設定します。その秒数を超えると、syslog ファイルにメッセージが生成されます。このメッセージは、通知専用で、その他の同期動作を変更することはありません。
j2_syncPageCount
目的:
単一操作の sync システム呼び出しによってディスクに書き込まれる、1 ファイルあたりの変更済みページの最大数を設定します。
チューニング:
ファイルシステムのキャッシングを使用するアプリケーションが実行され、多数のランダム書き込みを行う場合、同期操作時の長い遅延を避けるために、この設定値の調整が必要になる場合があります。
j2_syncPageLimit
目的:
sync システム呼び出しが、書き込まれるページ数を制限する j2_syncPageCount を使用する最大回数を設定します。この回数に達すると、sync 操作の進行を可能にするために j2_syncPageCount のカウントを増やします。
チューニング:
このチューナブル・パラメーターは、j2_syncPageCount が設定される場合に設定する必要があります。j2_syncPageCount を変更した効果が十分でない場合は増やす必要があります。
lvm_bufcnt
目的:
ロウ物理 I/O の LVM バッファー数を指定します。
チューニング:
ストライピングされたロウ論理ボリュームに対して大量の書き込みを実行しているアプリケーションは、必要なスループット速度が得られません。LVM は大量のロウ I/O を 1 つ当たり 128 K の複数バッファーに分けます。 値 9 は、約 1 MB の入出力を追加のバッファーを待たずに処理できることを意味します。 システムがストライピングされたロウ論理ボリュームを持つように構成され、 1.125 MB より大きい書き込みを実行中の場合、 この値を増やすことでアプリケーションのスループットが向上することがあります。 システムが 1 MB より大きいロウ I/O を実行している場合、この値を増やすことが有効な場合があります。
maxpgahead
目的:
順次アクセスされるファイルが処理されるとき、先読みする最大ページ数を指定します。
チューニング:
この値は、minpgahead 以上の 2 の累乗でなければなりません。time コマンドを使用して、重大な順次入出力従属アプリケーションの経過実行時間を監視してください。 カーネルでの制限のために、使用する最大値は 512 を超えないでください。minfreemaxfree の差は、常に maxpgahead 以上になる必要があります。maxpgahead を大きくして、実行時間が短縮された場合、他のアプリケーションのパフォーマンスが低下していないことを確認するため、それらのアプリケーションを監視してください。
maxrandwrt
目的:
後書きアルゴリズムによって後続のページがディスクにフラッシュされるまでに RAM に累積されるランダム書き込みのしきい値 (4 KB ページ単位) を指定します。
チューニング:
ランダム後書きしきい値は、1 ファイル当たりを基準にしています。最大値は、最大ファイル・サイズ (ページ単位) を示します。vmstat n で、一定間隔でのページアウトと I/O 待ち時間のピークが表示される場合 (通常は、同期デーモンがディスクにページを書き込んでいるとき) は、この値を変更できます。syncd の実行時に多数の入出力が発生する場合、この値を 1 以上に設定することは有効です。値 0 は、ランダム後書きを使用不可にし、ランダム書き込みが sync 操作まで RAM に保持されることを示します。maxrandwrt を設定すると、同期操作が発生する前にこれらの書き込みが確実にディスクにフラッシュされます。ただし、以降はファイルが毎回フラッシュされることになるので、パフォーマンスが低下する場合があります。このオプションを、スループット上での好みの対話式応答時間に調整してください。しきい値に到達すると、以降のすべてのページは即時にディスクにフラッシュされます。しきい値までのページは、sync 操作まで RAM に保持されます。
numclust
目的:
VMM の順次後書きアルゴリズムで処理される 16 K クラスターの数を指定します。
チューニング:
I/O パターンが順次であるときに、I/O にスケジュールされる前に RAM に保持するページ数を増やす必要がある場合には、この値を増やすと有効です。ストライピングされた論理ボリュームまたはディスク・アレイを使用している場合、この値を増やすことが適切な場合があります。
numfsbufs
目的:
ファイルシステム bufstructs の数を指定します。
チューニング:
ファイルシステムは再マウントする必要があります。VMM が空き bufstruct を待機する必要がある場合、VMM 入出力開始の実行前にプロセスを VMM 待機リストに書き込み、bufstruct が使用可能になった時点でプロセスをウェイクアップします。ストライピングされた論理ボリュームまたはディスク・アレイを使用している場合、この値を増やすことが適切な場合があります。
pd_npages
目的:
ファイルを削除するとき、RAM から 1 つのチャンクで削除される必要のあるページ数を指定します。
チューニング:
最大値は、最大ファイル・サイズ (ページ単位) を示します。ファイルを削除している間に、リアルタイム・アプリケーションでは応答時間が遅くなります。このオプションの調整は、リアルタイム・アプリケーションだけに有効です。リアルタイムの応答が重要な場合、 RAM からのファイル・ページの削除をワークロード全体により均一に広げるようにしてオプションを調整すると、 応答時間が改善されることがあります。
posix_aio_active
目的:
AIO カーネル・エクステンションが使用され、ピンされているかどうかを指定します。
チューニング:
値 1 は、AIO カーネル・エクステンションが使用され、ピンされていることを指定します。
posix_aio_maxreqs
目的:
一時点で未解決のままにしておくことができる非同期入出力要求の最大数を指定します。
チューニング:
指定された数には、進行中である入出力要求だけでなく、キューで開始を待機中の入出力要求も含まれます。 非同期入出力要求の最大数は、/usr/include/sys/limits.h ファイルに定義された AIO_MAX の値より小さくすることはできませんが、それより大きくすることはできます。 大量の非同期入出力があるシステムに、AIO_MAX より大きい非同期入出力要求の最大数があると適切である場合があります。
posix_aio_maxservers
目的:
スロー・パス入出力要求を処理できる AIO サーバー (非同期入出力処理専用のカーネル・プロセス) の最大数を指定します。
チューニング:
この値はプロセッサーごとの値です。maxservers の値を minservers より小さくすることはできません。一時点で進行中の非同期入出力要求の数をこれより大きくすることはできないので、この数が並行して行える入出力数を制限することになります。
posix_aio_minservers
目的:
スロー・パス入出力要求を処理するためにアクティブなままである AIO サーバー (非同期入出力処理専用のカーネル・プロセス) の最小数を指定します。
チューニング:
この値は CPU ごとの値です。minservers の値を maxservers より大きくすることはできません。カーネル・エクステンションがロードされる場合、現行の設定値またはデフォルトの設定値にかかわらず、AIO サーバーは作成されません。この処理により、AIO が使用されないシステムで最低限の AIO 占有スペースが許容されます。入出力要求が開始されると、maxservers によって許容される最大数に達するまで、それらの要求にサービスするために AIO サーバーが作成されます。minservers 値を超えると、サーバー数は minservers を下回ることはありません。
posix_aio_server_inactivity
目的:
AIO サーバーが入出力要求を処理せずにスリープする期間を指定します。
チューニング:
この時間制限を超えると、サーバーは終了します。ただし、使用可能なサーバー数が minservers を下回る場合を除きます。この場合、サーバーはスリープに戻ります。このまれなケースでサーバーがスリープする時間は、server_inactivity の現行値とデフォルト値に指定されている時間のどちらか大きい方になります。これはまれなケースであり、使用可能なサーバー数と入出力量との間にアンバランスが存在する場合があることを示します。

メモリー使用量および統計

ファイルシステムのメモリー使用量を表示するには、次のコマンドを入力します。
cat /proc/sys/fs/jfs2/memory_usage
これにより、メタデータ・キャッシュ、i ノード・キャッシュ、および合計メモリー使用量がバイト単位で返されます。
ファイルシステムの統計を表示するには、次のコマンドを入力します。
cat /proc/sys/fs/jfs2/statistics
これは、icache ヒット、icache ミス、および icache 活動化の数を返します。
論理ブロック・プロビジョンのサポートに関連したシステム統計情報 (アウト・オブ・バッファー値が表示された回数やマップ解除 操作に失敗した回数など) を表示するには、次のコマンドを入力します。
cat/proc/sys/disk/lbp/statistics

セキュリティー

RBAC ユーザーおよび Trusted AIX ユーザーへの注意: このコマンドは特権命令を実行できます。 特権命令を実行できるのは特権ユーザーのみです。 権限および特権についての詳細情報は、「セキュリティー」の『特権コマンド・データベース』を参照してください。 このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。

  1. ioo コマンドが管理するすべてのチューナブル・パラメーターの、現行値とリブート値、範囲、単位、タイプ、および依存関係をリストするには、次のコマンドを入力します。
    ioo -L 
  2. j2_recoveryMode チューナブル・パラメーターの現行値、デフォルト値、リブート値、範囲、単位、およびタイプをリストするには、次のコマンドを入力します。
    ioo -L j2_recoveryMode
    結果は以下の出力のようになる場合があります。
    NAME              CUR    DEF    BOOT   MIN    MAX    UNIT          TYPE
    -----------------------------------------------------------------------
    recoveryMode       1      1       1     0      1      n/a            D
    -----------------------------------------------------------------------
  3. j2_nPagesPerWriteBehindCluster チューナブル・パラメーターのヘルプ情報を表示するには、次のコマンドを入力します。
    ioo -h j2_nPagesPerWriteBehindCluster 
  4. 次のリブート後に maxrandwrt を 4 に設定するには、次のコマンドを入力します。
    ioo -r -o maxrandwrt=4
  5. すべての ioo チューナブル・パラメーターを永続的にデフォルトにリセットするには、次のコマンドを入力します。
     ioo -p -D 
  6. すべての ioo パラメーターのリブート値をリストするには、次のコマンドを入力します。
     ioo -r -a
  7. ioo コマンドで管理されるすべてのチューナブル・パラメーターの現行値、リブート値、範囲、単位、タイプ、および依存関係を (スプレッドシート形式で) リストするには、以下のコマンドを入力します。
    ioo -x