ioo コマンド

目的

これは、入出力チューナブル・パラメーターを管理します。

構文

ioo [ -p | -r [ -K ]] [ -y ]{ -o Tunable [ =NewValue ] } 
ioo [ -p | -r [ -K ]] [ -y ] { -d Tunable } 
ioo [ -p | -r [-K ]] [ -y ] -D
ioo [ -p | -r | -K ] [  -F  ] -a
ioo -h [ Tunable ]
ioo [ -F ] [ -K ] -L [ Tunable ]
ioo [ -F ] [ -K ] -x [ Tunable ]
注: -o-d-x-L のような複数のフラグを使用することができる。

説明

注: ioo コマンドはrootユーザーのみが実行できる。

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

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

オペレーティング・システムでは、ファイル・システムの「bufstructsnumfsbuf)の数と、ライト・ビハインド・アルゴリズム(numclust)で処理されるデータ量を調整することができる。

注:システム全体に適用される調整可能変数は、ワークロード・パーティション内からは変更できない場合がある。
調整可能なパラメーターを変更した場合の効果
ioo コマンドを誤用すると、パフォーマンスの低下やオペレーティングシステムの障害を引き起こす可能性がある。 ioo コマンドを試す前に、 Virtual Memory Manager の性能概要を参照してください。

チューナブル・パラメーターの変更とその目的についての詳細は、チューナブル・ パラメーターのセクションのチューナブル・パラメーターの特性を参照のこと。

調整可能なパラメータの「診断」と「調整」のセクションが、あなたの状況に当てはまることを確認してください。 チューナブル・パラメーターの値を変更することで、システムのパフォーマンスが向上する可能性があります。

Diagnosis(診断)セクションとTuning(チューニング)セクションの両方にN/Aしかない場合は、開発の指示がない限り、チューニング可能なパラメータを変更しないでください。 AIX の指示がない限り、調整可能なパラメータを変更しないでください。

フラグ

表 1. フラグ
項目 説明
-h [チューナブル] 指定した調整可能パラメータに関するヘルプ情報を表示します。 tunableパラメータが指定されていない場合、 -h フラグは ioo コマンドの使用法を表示する。
-a 現在値、リブート値(フラグと共に使用した場合)、ライブアップデート値(フラグと共に使用した場合)を表示します。 -r リブート値(フラグと一緒に使用した場合)、ライブアップデート値(フラグと一緒に使用した場合) -K フラグと併用時)、またはパーマネント値(フラグと併用時)を表示します。 -ptunable = value フラグと併用時)を表示します。 パーマネント・オプションの場合、調整可能なパラメータの値は、そのリブート値と現在の値が等しい場合にのみ表示される。 そうでない場合は、NONE が値として表示されます。
-d チューナブル 指定された調整可能パラメータをデフォルト値にリセットする。 チューナブルパラメータがデフォルト値に設定されていないために変更する必要がある場合、以下の基準の1つ以上を満たすと、警告メッセージが表示され、チューナブルパラメータに変更は行われない:
  • 調整可能なパラメータは、 Bosboot または Reboot のタイプである。
  • tunableパラメータは Incremental 、デフォルト値から変更される。 -r フラグは併用されない。
  • 調整可能なパラメータは Reboot 、ライブ・アップデートの操作全体でサポートされる。

調整可能なパラメーターの種類については、 調整可能なパラメーターのカテゴリーを参照。

-D すべての調整可能なパラメーターをデフォルト値にリセットする。 デフォルト値に設定されていないために変更しなければならない調整可能パラメータが、以下の基準の1つ以上に当てはまる場合、警告メッセージが表示され、調整可能パラメータに変更は行われない:
  • 調整可能なパラメータは、 Bosboot または Reboot のタイプである。
  • tunableパラメータは Incremental 、デフォルト値から変更される。 -r フラグは併用されない。
  • 調整可能なパラメータは Reboot 、ライブ・アップデートの操作全体でサポートされる。

調整可能なパラメーターの種類については、 調整可能なパラメーターのカテゴリーを参照。

-F を指定すると、制限された調整可能パラメータが強制的に表示される。 -a, -Lまたは -x フラグを指定したときに表示される。 フラグを指定しない場合は -F フラグを指定しない場合、制限されたチューナブルは含まれない。 -o-a, -x, または -L フラグ。
-K /etc/tunables/nextboot ファイルと /etc/tunables/nextliveupdate ファイルの両方にチューナブル・パラメーター値を設定します。 -K フラグは -r フラグとともにのみ使用されます。

フラグを指定した場合、または -K フラグを -r-d フラグ、または -r-D フラグで指定すると、調整可能なパラメータ値は /etc/tunables/nextboot/etc/tunables/nextliveupdate ファイルのデフォルト値に設定され、次回のブートまたはライブアップデート操作時に使用されます。

-K フラグを -L または -x フラグと一緒に指定すると、 ioo コマンドはライブ・アップデートの値を表示します。

-L [チューナブル] 1 つまたはすべてのチューナブル・パラメーターの特性を、以下の形式で、1 行に 1 つずつリストします。

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
-K フラグを -L フラグと一緒に指定すると、Live Update 値も表示されます。
-o Tunable [=NewValue ] これはチューナブル・パラメーターの値を表示したり新しい値に設定したりします。 -o フラグを使用して動的調整パラメータの値を変更すると、 /etc/tunables/usermodified ファイルが新しい調整パラメータ値で更新される。 変更したいチューナブルパラメータが、以下の基準の1つ以上に当てはまる場合、警告メッセージが表示され、チューナブルパラメータに変更は加えられません:
  • 調整可能なパラメータは、 Bosboot または Reboot のタイプである。
  • 調整可能なパラメータは、 Incremental 型であり、その現在の値は指定された値より大きく、 -r フラグは併用されない。
  • 調整可能なパラメータは、 Reboot 型であり、調整可能なパラメータはライブ・アップデート操作全体でサポートされる。

調整可能なパラメーターの種類については、 調整可能なパラメーターのカテゴリーを参照。

NewValueを指定せずに -r フラグを指定すると、調整可能パラメータのnextboot値が表示されます。 -K フラグが、 NewValue なしで -o フラグと組み合わされて使用された場合、調整可能パラメータの次のライブアップデート値が表示される。 -p フラグが -o フラグとともに NewValue なしで使用された場合、調整可能なパラメーターの現在のブート値と次のブート値が同じ場合にのみ、値が表示される。 そうでない場合は、NONE が値として表示されます。

-p -o-d-D フラグで指定した場合、変更が現在値とリブート値の両方に適用されることを指定します。 チューナブル・パラメーターは、現在の値とともに /etc/tunables/nextboot ファイルを更新することができる。 これらの組み合わせは、 Reboot および Bosboot タイプの調整可能なパラメーターには使用できない。 Reboot および Bosboot タイプのチューナブル・パラメーターの現在値は変更できない。

新しい値を指定せずに -a または -o フラグを指定すると、調整可能なパラメータの現在のブート値と次のブート値が同じ場合にのみ値が表示されます。 そうでない場合は、 NONE が調整可能な値として表示される。

-r -o-d-D フラグとともに使用された場合に、 reboot パラメータ値に適用される変更を行う。 チューナブル・パラメーターにより、 /etc/tunables/nextboot ファイルを更新することができる。 Bosboot タイプの調整可能パラメータが変更された場合、ユーザーはコマンドを実行するよう促される。 bosboot コマンドを実行するよう促される。

-r フラグが、新しい値を指定せずに -a または -o フラグとともに使用された場合、調整可能なパラメータの次のブート値が、現在の値の代わりに表示される。 -K フラグとともに使用すると、変更は /etc/tunables/nextboot ファイルと /etc/tunables/nextliveupdate ファイルの両方に適用される。

-x [ Tunable] 以下のスプレッドシート形式を使用して、1行に1つずつ、1つまたはすべての調整可能パラメーターの特性を一覧表示する:
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
-K フラグを -x フラグと一緒に指定すると、Live Update 値も表示されます。
-y bosboot コマンドが実行される前に、確認プロンプトを抑制します。

-o-d-D フラグを使用して、制限された調整可能パラメータを変更すると、使用制限タイプの調整可能パラメータが変更されたという警告メッセージがユーザーに表示されます。 また、 -r または -p フラグを指定した場合、制限されたチューナブル・パラメータの変更の確認を求めるプロンプトが表示される。 さらに、システム再起動の際、 -r または -p フラグを指定するコマンドラインを使用することで、 /etc/tunables/nextboot ファイルにある制限付き調整可能パラメーターの存在が、デフォルト値とは異なる値に変更される。 制限された調整可能パラメータを変更すると、変更された調整可能パラメータのリストを特定するエラーログエントリーが発生する。

調整可能なパラメータを変更する場合、以下の略語を使用して対応する値を示すことで、調整可能なパラメータ値を指定することができます:
表2. 調整可能なパラメータ値の略語
省略語 2 の累乗
K 210
M 220
G 230
T 240
P 250
E 260
従って、調整可能なパラメータ値1024を1Kと指定することもできる。

-o-d-D フラグを使用して、 Mount タイプの調整可能パラメータを変更すると、その変更は将来のマウントにのみ有効であるという警告メッセージがユーザーに表示されます。

-o-d、または -D フラグを使用して、 Connect 型の調整可能パラメータに変更すると、コマンドは再スタートする。 inetd コマンドを再起動し、その変更は今後のソケット接続に対してのみ有効であるという警告メッセージを表示する。

-r フラグのない Bosboot または Reboot タイプの調整可能パラメータを -o-d、または -D フラグで変更しようとすると、エラーメッセージが表示される。

-o-d、または -D フラグを使用し、 -r フラグを使用せずに、 Incremental タイプの調整可能パラメータの現在の値を、現在の値よりも小さい新しい値で変更しようとすると、エラーメッセージが表示されます。

互換モード

pre520tune と呼ばれる sys0 属性によって制御される pre-5.2 互換モードで調整可能パラメータを実行する場合、 Bosboot を除く調整可能パラメータのリブート値は意味をなさない。 pre-5.2 互換モードでは、ブート時には適用されない。

pre-5.2の互換モードでは、チューニングパラメータへのリブート値の設定は、ブートシーケンス中に呼び出されるスクリプトにチューニングコマンドの呼び出しを埋め込むことで実現されます。 そのため、Rebootタイプのパラメータは、既存のスクリプトが引き続き動作するように、「-rフラグなしで設定することができる。

pre-5.2 互換モードは、マシンを次のように移行すると自動的にオンになります。 AIX 5.2. 完全なインストレーションの場合、この機能はオフになり、調整可能なパラメーターのリブート値は、リブートシーケンス中に /etc/tunables/nextboot ファイルの内容を適用することで設定されます。 このモードでのみ、「-r」と「-pフラグが完全に機能する。 詳細については、『Performance Tools Guide and Reference』の「Kernel Tuning」を参照のこと。

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

などのチューニング・コマンドで操作されるチューナブル・パラメーター。 no, nfso, vmo, ioo, rasoおよび schedo コマンドは、以下の調整可能なパラメーターカテゴリーに分類される:
表3. 調整可能なパラメータ・カテゴリー
項目 説明
Dynamic 調整可能なパラメータがいつでも変更できる場合。
Static 調整可能なパラメーターが絶対に変更できない場合。
Reboot 調整可能なパラメータが再起動時にのみ変更可能な場合。
Bosboot 調整可能なパラメータが、 bosboot コマンドを使用してマシンを再起動することでしか変更できない場合。
Mount 調整可能なパラメータの変更が、将来のファイルシステムまたはディレクトリマウントに対してのみ有効である場合。
Incremental 調整可能なパラメーターが、ブート時を除いて、漸増できる場合。
Connect チューナブルパラメータを変更した場合、その変更は将来のソケット接続に対してのみ有効である。
Deprecated チューナブル・パラメーターの変更が、現在のリリースの AIX.
Bosboot タイプの調整可能パラメータについては、変更が実行されるたびに、チューニングコマンドは自動的に、そのコマンドを実行するかどうかをユーザーに尋ねます。 bosboot コマンドを実行するかどうかを自動的に尋ねる。 Connect、チューニング・コマンドは自動的にデーモンを再起動します。 inetd デーモンを自動的に再起動する。
注: ioo コマンドで管理される現在のパラメーターセットには、 StaticDynamicMountIncremental タイプの調整可能なパラメーターのみが含まれる。
調整可能なパラメータのデフォルト値と値の範囲については、以下のコマンドを入力する:
ioo -h
次の表は、調整可能なパラメーターとその説明の一覧である:
表4. チューナブル・パラメーター
項目 説明
aio_active
目的
非同期I/O(AIO)カーネル拡張が使用され、固定されているかどうかを示す。
チューニング
チューニング値 1は、AIOカーネル拡張が使用され、ピン留めされていることを示す。
aio_maxreqs
目的
一時点で未解決のままにしておくことができる非同期入出力要求の最大数を指定します。
チューニング
指定された数には、進行中である入出力要求だけでなく、キューで開始を待機中の入出力要求も含まれます。 非同期I/Oリクエストの最大数は、 /usr/include/sys/limits.h ファイルで定義されている AIO_MAX フィールドの値より小さくすることはできないが、大きくすることはできる。 非同期I/Oの量が多いシステムでは、非同期I/O要求の最大数を AIO_MAX フィールドの値より大きくするのが適切である。
aio_maxservers
目的
低速パスI/O要求に対応できるAIOサーバー(非同期I/O処理専用のカーネルプロセス)の最大数を指定する。
チューニング
チューニング値はCPUあたりの値である。 aio_maxservers の値が aio_minservers を下回ることはない。 一度に、 aio_maxservers 調整可能パラメーターの非同期I/Oリクエストの値を超えて進行することはできないので、この数によって可能なI/O同時実行が制限される。
aio_minservers
目的
スロー・パス入出力要求を処理するためにアクティブなままである AIO サーバー (非同期入出力処理専用のカーネル・プロセス) の最小数を指定します。
チューニング
チューニング値はCPUあたりの値である。 aio_minservers の値を aio_maxservers の値より大きくすることはできない。 カーネル・エクステンションがロードされる場合、現行の設定値またはデフォルトの設定値にかかわらず、AIO サーバーは作成されません。 この値により、AIO が使用されないシステムで最低限の AIO 占有スペースが許容されます。 I/O要求が開始されると、「aio_maxservers」で許容される最大値に達するまで、AIOサーバーが作成され、I/O要求に対応する。 aio_minservers超えると、サーバー数は「aio_minservers」を下回らない。
aio_server_inactivity
目的
AIO サーバーが入出力要求を処理せずにスリープする期間を指定します。
チューニング
この制限時間を超えると、利用可能なサーバーの数が'aio_minserversよりも少なくならない限り、サーバーは終了する。 この場合、サーバーはスリープ状態に戻る。 この稀なケースにおけるサーバーのスリープ時間は、 aio_server_inactivity の現在値とデフォルト値で指定されている時間のうち、大きい方の時間である。 これはまれなケースであり、使用可能なサーバー数と入出力量との間にアンバランスが存在する場合があることを示します。
aio_delegateiotodriverkth
目的
非同期I/OをVirtual Persistent MemoryvPMEM)ドライバのカーネルスレッドに委譲する閾値を指定します。
チューニング
lio_listioまたは「lio_listio64サブルーチンは、1回のコールで非同期I/Oリクエストのリストを開始する。 リスト内の非同期I/O要求の数が aio_delegateiotodriverkth 調整可能パラメータ値より大きく、基礎となるデバイスが vPMEM の場合、 vPMEM ドライバは vPMEM ドライバのカーネルスレッドに非同期I/Oを委譲し、パフォーマンスを向上させる。 0を指定すると、 aio_delegateiotodriverkth のチューナブル・パラメーターが無効になる。
変更の始めaio_queue_enhanced_search変更の終わり
目的
キュー内のAIOリクエストを見つけるために、既存のアルゴリズムを使うか、拡張アルゴリズムを使うかを指定する。
チューニング
この調整可能なパラメータ値が 1に設定されている場合、キュー内のAIOリク エストを見つけるために拡張検索アルゴリズムが使用される。 強化されたアルゴリズムにより、AIO検索要求のパフォーマンスが向上した。 アルゴリズムを切り替えるには、 aio_queue_enhanced_search 調整可能パラメーターを必要な値に設定し、システムを再起動する。 デフォルトでは、 aio_queue_enhanced_search 調整可能パラメータ値は 1 に設定され、拡張検索アルゴリズムが使用される。 調整可能なパラメータ値を 0に設定すると、既存のアルゴリズムが使用される。
dk_closed_path_recovery
目的
MPIO ディスクがクローズされたときに「障害」状態であったマルチパス入出力 (MPIO) パスをリカバリーするためのサポートを有効または無効にします。 MPIO パスがリカバリーされるまで、リカバリー操作は、MPIO ディスクがクローズされた後で定期的に試みられます。 MPIOパスが故障状態にあり、かつMPIOディスクが既にクローズされている場合、この調整可能パラメータを 1に設定しても、故障したMPIOパスは復旧できない。 以下のコマンドを使用することで、MPIOディスクのオープンとクローズ、および既にクローズされているMPIOディスクのMPIOパスのリカバリーを開始することができます:
lsmpio -o -l hdiskX
この機能はデフォルトで、AIX パス制御モジュール (PCM) でサポートされています。
チューニング
チューニング値 0は、故障状態にあるMPIOパスの回復サポートを無効にする。 デフォルト値は 0 である。
チューニング値を 1 に設定すると、障害状態にある MPIO パスの復旧をサポートする。
dk_lbp_enabled
目的
AIX® オペレーティングシステムのシン・プロビジョニングとしても知られる論理ブロック・プロビジョニング(LBP)のサポートを有効または無効にします。 無効にすると、AIXはシンプロビジョニングされたディスクから使用されていないブロックを解放しようとしない。
チューニング
チューニング値を 1 にすると、LBP サポートが有効になる。 デフォルト値は 1 である。
チューニング値 0は LBPサポートを無効にする。
dk_lbp_num_bufs
目的
LBP サポートに使用される事前割り振りバッファーのプールのサイズを定義します。
チューニング
ディスクドライバが一度に処理できる unmap 要求の最大数を制御する。 バッファー・プールは、システム全体のリソース・プールです。 シン・プロビジョニングされたディスクでは、一度にアクティブにできる unmap リクエストは1つだけです。 このパラメータのデフォルト値は64バッファである。 例えば、64個のバッファがある場合、32KB(64個のバッファ×512バイト=32KB)の総ピン留めメモリがあることになる。 この調整可能な値は1~1024の範囲である。
dk_lbp_buf_size
目的
LBP バッファー・プール内の各バッファーのサイズを定義します。 デフォルト値は 512 バイトです。 この値は4096(4KB)に変更することができ、その場合、4KBのブロックサイズをサポートするディスクに対してブロックを解放することができる。
チューニング
この調整可能パラメーターの調整値は、 AIX システムに接続されているディスクがサポートする最大のブロックサイズと同じでなければならない。
j2_atimeUpdateSymlink
目的
j2_atimeUpdateSymlink tunableパラメータが 1に設定されている場合、 JFS2 ファイルシステムシンボリックリンクのアクセス時間は、 readlink リクエストで更新される。
チューニング
0は、 JFS2 ファイルシステムのシンボリックリンクのアクセス時間が、 readlink リクエストで更新されないことを示す。 j2_atimeUpdateSymlink をオンにすることに関連したパフォーマンスの低下があるため、実際に必要な場合を除いて、このチューナブル・パラメーターを変更しないでください。 SUSv3 は、 リクエスト時にアクセスタイムを更新する必要はない。 readlink しかし、JFSや他の多くのプラットフォームは、 readlink 、アクセスタイムを更新する。 このチューナブルは、JFSや他のUNIX準拠システムとの互換性のために提供されている。
j2_dynamicBufferPreallocation
目的
I/O操作中に一時的にデータを格納するために使用されるファイル・システム・バッファが不足している場合に、ファイル・システムが割り当てを行う16 Kスラブの数を指定する (bufstructs)。
チューニング
16は 256Kを表す。 ファイルシステムの再マウントは必要ない。 JFS2 ファイルシステムの bufstructs がダイナミックになった。 ページング・デバイス上で開始されるバッファの数は、 j2_nBufferPerPagerDevice 調整可能パラメータによって制御されるが、バッファはこの初期値以降、動的に割り当てられ、破棄される。 vmstat -v から) fsbuf なしでブロックされた外部ページャー・ファイルシステムI/Oの数が増加した場合、ファイルシステム上のI/O負荷が事前割り当ての速度を超えている可能性があるため、そのファイルシステムに対して j2_dynamicBufferPreallocation 調整可能パラメータを増加させる必要がある。 0を指定すると、ダイナミック・バッファ割り当てが完全に無効になる。
j2_inodeCacheSize
目的
JFS2 ファイルシステムがインデックスノード(inode)キャッシュに使用するメモリ量を制御します。
チューニング
チューニング値は、使用量を明示的に示すものではなく、スケーリング係数である。 j2_inodeCacheSize調整可能パラメーターの値は、メインメモリーのサイズと組み合わせて、inodeキャッシュの最大メモリー使用量を決定するために使用される。 inodeキャッシュ・サイズのスケーリング・ファクターは、マシンのメモリと j2_inodeCacheSize チューナブル・パラメーターの値の積を4000で割った値として計算される。 j2_inodeCacheSizeチューナブル・パラメーターのデフォルト値は200で、これはinodeキャッシュ・サイズがマシン・メモリーの5%を占めることを意味する。 動的メモリーを追加および除去しても、キャッシュのサイズは自動的に変更されません。 この調整可能パラメーターのデフォルト値は、AIXバージョン7.11で変更されたが、メインメモリーサイズが小さく、同時使用ユーザー数やオープンファイル数が多いシステムでは、旧デフォルト値の400の方がパフォーマンスが向上する可能性がある。
j2_maxPageReadAhead
目的
JFS2 ファイルシステムでシーケンシャルアクセスされたファイルを処理する際に、先読みする最大ページ数を指定する。
チューニング
minfree パラメータと maxfree パラメータの差は、常に j2_maxPageReadAhead チューナブルパラメータの値以上でなければならない。 j2_maxPageReadAhead 、調整可能なパラメータの値が大きくなると実行時間が短くなる場合は、他のアプリケーションのパフォーマンスが低下しないようにしてください。
j2_maxRandomWrite
目的
JFS2 ファイルシステムのライトビハインドアルゴリズムによって後続ページがディスクにフラッシュされる前に、ランダム書き込み操作がランダムアクセスメモリ(RAM)に蓄積される閾値を指定する。
チューニング
ランダム後書きしきい値は、ファイルごとに設定されます。 このチューナブル・パラメーターは、 syncd デーモンによって大量のページがフラッシュアウトされる場合に有用である。
j2_metadataCacheSize
目的
JFS2 ファイルシステムがメタデータキャッシュに使用するメモリ量を制御します。
チューニング
チューニング値は、使用量を明示的に示すものではなく、スケーリング係数である。 j2_metadataCacheSizeチューナブル・パラメータの値は、メイン・メモリのサイズと組み合わせて使用され、メタデータ・キャッシュの最大メモリ使用量を決定する。 メタデータ・キャッシュ・サイズのスケーリング・ファクターは、マシンのメモリと j2_metadataCacheSize チューナブル・パラメーターの値の積を10000で割った値として計算される。 j2_metadataCacheSize チューナブル・パラメータのデフォルト値は200で、これはinodeメタデータ・サイズがマシン・メモリの最大2%を占めることを意味する。 動的メモリーを追加および除去しても、キャッシュのサイズは自動的に変更されません。 この調整可能パラメーターのデフォルト値は、AIXバージョン7.11で変更されたが、メインメモリーサイズが小さく、同時使用ユーザー数やオープンファイル数が多いシステムでは、旧デフォルト値の400の方がパフォーマンスが向上する可能性がある。
j2_minPageReadAhead
目的
JFS2 ファイルシステム上でシーケンシャルにアクセスされるファイルを処理する際に、先に読み込む最小ページ数を指定する。
チューニング
大きな順次アクセスが数多く行われる場合には増やすと有効です。 他のアプリケーションのパフォーマンスが低下しないようにする。 I/Oパターンが純粋にランダムな場合は、 0を指定すると便利である。
j2_nPagesPerWriteBehindCluster
目的
JFS2 ファイルシステムのライトビハインド・アルゴリズムで処理されるクラスタごとのページ数を指定します。
チューニング
I/O パターンが順次であるときに、I/O にスケジュールされる前に RAM に保持するページ数を増やす必要がある場合には、この値を増やすと有効です。 ストライピングされた論理ボリュームやディスクアレイを使用している場合は、増やすのが適切かもしれない。
j2_nRandomCluster
目的
JFSのランダム・ライト・ビハインド・アルゴリズムでランダムとみなされるために必要な書き込み操作の間隔(クラスター単位)を指定します。
チューニング
I/Oパターンがランダムで、 j2_maxRandomWrite チューナブル・パラメータでランダム・ライト・ビハインドが有効になっている場合、I/Oがスケジュールされる前に、より多くのページをRAMに保持する必要がある場合に増やすと便利である。
j2_recoveryMode
目的
JFS2 ファイルシステム書き込みエラーからの復旧動作を設定する。
チューニング
デフォルト値の 1は、 JFS2 ファイルシステム書き込みエラーからの自動回復が設定されていることを示す。 値 0は、アンマウントされるまでファイルシステムがデグレード・モードのままであることを示す。
j2_syncByVFS
目的
JFS2 ファイルシステムの同期処理の各呼び出し間の遅延を変更します。
チューニング
この調整可能なパラメーターにより、 JFS2 ファイルシステムを、標準の sync デーモン周期とは異なる速度で同期させることができる。 このチューナブルがゼロ以外の値に設定された場合、その秒数が、各 JFS2 ファイルシステムの同期処理の反復の間の遅延になります。 このチューナブルを使うことで、 sync デーモンがすべてのファイルシステムを同時に処理するため、 sync デーモンが広げることができるよりも同期操作を広げることができる。 また、ファイルシステム sync 操作を処理するスレッド数を変更することもできる。
j2_syncConcurrency
目的
JFS2 ファイルシステムへのデータを同期するために実行されるスレッドの数を変更します。 各スレッドは一度に1つのファイルシステムを操作する。
チューニング
マウントされているファイルシステムが多い場合、同期操作ですべてのファイルシステムをタイムリーに処理するには、この値を大きくする必要があるかもしれない。
注: この値は、 j2_syncByVFS チューナブル・パラメーターがゼロ以外の値である場合にのみ有効です。
j2_syncDelayReport
目的
ファイルシステムの同期に必要な時間が指定した秒数を超えた場合に通知する。
チューニング
このチューナブル・パラメーターは、ファイルシステムの同期処理を完了するために許可される秒数を設定します。 その秒数を超えると、syslog ファイルにメッセージが生成されます。 このメッセージは単なる情報提供であり、シンク操作の他の動作を変更するものではありません。
j2_syncPageCount
目的
1回の操作で sync システム・コールによってディスクに書き込まれる、ファイルの最大変更ページ数を設定する。
チューニング
ファイルシステムのキャッシングを使用するアプリケーションが実行され、多数のランダム書き込みを行う場合、同期操作時の長い遅延を避けるために、この設定値の調整が必要になる場合があります。
j2_syncPageLimit
目的
sync システムコールが j2_syncPageCount 調整可能パラメータを使用する最大回数を設定する。 この調整可能パラメータは、 j2_syncPageCount 調整可能パラメータ値を増加させる前に書き込まれるページ数を制限し、同期操作の進捗を可能にする。
チューニング
この調整可能なパラメータは、 j2_syncPageCount パラメータを設定する際に設定する必要があり、 j2_syncPageCount パラメータの変更による効果が十分でない場合は、増加させる必要がある。
start of changelvm_workQ_enhanced_searchend of change
目的
論理ボリュームのワークキューでオーバーラップしたI/Oを見つけるために、既存の検索アルゴリズムを使用するか、拡張検索アルゴリズムを使用するかを指定します。
チューニング
start of changelvm_workQ_enhanced_searchend of change 調整可能パラメータ値が 1に設定されている場合、論理ボリュームの作業キューでオーバーラップしたI/Oを見つけるために、拡張検索アルゴリズムが使用される。 そうでない場合は、既存のアルゴリズムが使われる。 この強化されたアルゴリズムにより、重複I/Oの検索性能が向上しました。
アルゴリズムを切り替えるには、 start of changelvm_workQ_enhanced_searchend of change 調整可能パラメータの値を必要な値に変更することで、論理ボリュームを閉じて再度開く必要があります。 デフォルトでは、この調整可能なパラメータ値は 0に設定され、既存の検索アルゴリズムが使用される。
lvm_bufcnt
目的
ロウ物理 I/O の LVM バッファー数を指定します。
チューニング
ストライピングされたRAW論理ボリュームに大きな書き込みを行うアプリケーションは、期待したスループットレートを得られない。 LVMは、大きなRAW I/Oを128KBずつの複数のバッファに分割する。 値 9 は、約 1 MB の入出力を追加のバッファーを待たずに処理できることを意味します。 システムがストライピングされたロウ論理ボリュームを持つように構成され、 1.125 MB より大きい書き込みを実行中の場合、 この値を増やすことでアプリケーションのスループットが向上することがあります。 システムが 1 MB より大きいロウ I/O を実行している場合、この値を増やすことが有効な場合があります。
maxpgahead
目的
順次アクセスされるファイルが処理されるとき、先読みする最大ページ数を指定します。
チューニング
このチューナブルパラメータ値は2のべき乗でなければならず、 minpgahead チューナブルパラメータ値以上でなければならない。 time コマンドを使用して、クリティカルなシーケンシャルI/O依存アプリケーションの経過実行時間を観察する。 カーネルの制限のため、最大値は512を超えないこと。 minfreemaxfree パラメーターの差は、常に maxpgahead 調整可能パラメーターの値以上でなければならない。 maxpgahead 、調整可能なパラメーターの値が大きくなるにつれて実行時間が短くなる場合は、他のアプリケーションを観察し、パフォーマンスが低下しないことを確認する。
maxrandwrt
目的
後書きアルゴリズムにより以降のページがディスクにフラッシュされる前に RAM で累積するランダム書き込みのしきい値 (4 KB ページ) を指定します。
チューニング
ランダム後書きしきい値は、1 ファイル当たりを基準にしています。 最大値は、最大ファイル・サイズ (ページ単位) を示します。 vmstat n 、一定間隔でページアウトとI/O待ち時間のピークが表示される場合(通常、同期デーモンがディスクにページを書き込んでいるとき)、値を変更することができる。 syncd コマンド実行時に多数のI/Oが発生する場合は、この値を 1 以上に設定すると便利である。 値 0は、ランダム・ライト・ビハインドを無効にし、同期操作が発生するまでランダム・ライトがRAMに留まることを示す。 maxrandwrt チューナブル・パラメーターを設定することで、これらの書き込みが同期操作の前にディスクにフラッシュされるようになる。 しかし、同期操作の前に毎回ファイルがフラッシュされるため、パフォーマンスが低下する可能性がある。 このオプションを、スループット上での好みの対話式応答時間に調整してください。 閾値に達すると、それ以降のページはすべてディスクにフラッシュされる。 しきい値までのページは、同期操作が発生するまでRAMに留まる。
numclust
目的
VMMのシーケンシャルライトビハインドアルゴリズムで処理される16KBクラスタの数を指定する。
チューニング
I/O パターンが順次であるときに、I/O にスケジュールされる前に RAM に保持するページ数を増やす必要がある場合には、この値を増やすと有効です。 ストライピングされた論理ボリュームやディスク・アレイを使用している場合は、増やすのが適切かもしれない。
numfsbufs
目的
ファイルシステム bufstructs の数を指定します。
チューニング
ファイルシステムは再マウントする必要があります。 VMMが空いている「bufstruct」を待つ必要がある場合、開始I/Oが発行される前にプロセスをVMM待ちリストに入れ、「bufstruct利用可能になったらプロセスを起こす。 ストライピングされた論理ボリュームやディスク・アレイを使用している場合は、増やすのが適切かもしれない。
pd_npages
目的
ファイルを削除するとき、RAM から 1 つのチャンクで削除される必要のあるページ数を指定します。
チューニング
最大値は、最大ファイル・サイズ (ページ単位) を示します。 ファイルが削除されている間、リアルタイムアプリケーションの応答時間が遅くなる。 このオプションの調整は、リアルタイム・アプリケーションだけに有効です。 リアルタイムの応答が重要な場合、 RAM からのファイル・ページの削除をワークロード全体により均一に広げるようにしてオプションを調整すると、 応答時間が改善されることがあります。
posix_aio_active
目的
AIO カーネル・エクステンションが使用され、ピンされているかどうかを指定します。
チューニング
調整可能な値 1は、AIOカーネル拡張が使用され、固定されていることを示す。
posix_aio_maxreqs
目的
一時点で未解決のままにしておくことができる非同期入出力要求の最大数を指定します。
チューニング
指定された数には、進行中である入出力要求だけでなく、キューで開始を待機中の入出力要求も含まれます。 非同期入出力要求の最大数は、/usr/include/sys/limits.h ファイルに定義された AIO_MAX の値より小さくすることはできませんが、それより大きくすることはできます。 非同期I/Oの量が多いシステムでは、非同期I/O要求の最大数をAIO_MAXより大きくするのが適切である。
posix_aio_maxservers
目的
スロー・パス入出力要求を処理できる AIO サーバー (非同期入出力処理専用のカーネル・プロセス) の最大数を指定します。
チューニング
この調整可能なパラメーター値はプロセッサーごとの値である。 posix_aio_maxservers チューナブル・パラメータの値は、 posix_aio_minservers チューナブル・パラメータの値より小さくすることはできない。 一度に、 posix_aio_minservers 調整可能パラメーターの非同期I/Oリクエストの値を超えて進行することはできないので、この数によって可能なI/O同時実行が制限される。
posix_aio_minservers
目的
スロー・パス入出力要求を処理するためにアクティブなままである AIO サーバー (非同期入出力処理専用のカーネル・プロセス) の最小数を指定します。
チューニング
この調整可能なパラメータ値はCPUごとの値である。 posix_aio_minservers チューナブル・パラメータのチューナブル値は、 posix_aio_maxservers チューナブル・パラメータの値より大きくすることはできない。 カーネル・エクステンションがロードされる場合、現行の設定値またはデフォルトの設定値にかかわらず、AIO サーバーは作成されません。 この処理により、AIO が使用されないシステムで最低限の AIO 占有スペースが許容されます。 I/Oリクエストが開始されると、AIOサーバーは、 posix_aio_maxservers チューナブル・パラメーターで許容される最大値に達するまで、サービスを提供するために生成される。 posix_aio_minservers チューナブル・パラメータの値を超えると、サーバー数は posix_aio_minservers チューナブル・パラメータの値以下にならない。
posix_aio_server_inactivity
目的
AIO サーバーが入出力要求を処理せずにスリープする期間を指定します。
チューニング
制限時間を超えると、サーバーは終了する。ただし、利用可能なサーバーの数が posix_aio_minservers tunable parameterの値より少なくなる場合を除く。 この場合、サーバーはスリープ状態に戻る。 このまれなケースでサーバーがスリープする時間は、 posix_aio_server_inactivity チューナブル・パラメータの現在値とデフォルト値で指定されている時間のうち、大きい方である。 これはまれなケースであり、使用可能なサーバー数と入出力量との間にアンバランスが存在する場合があることを示します。
posix_aio_delegateiotodriverkth
目的
非同期I/Oを vPMEM ドライバのカーネルスレッドに委譲する閾値を指定する。
チューニング
lio_listioまたは「lio_listio64サブルーチンは、1回のコールで非同期I/Oリクエストのリストを開始する。 リスト内の非同期I/Oリクエスト数が posix_aio_delegateiotodrPivuerproksteh チューナブル・パラメータの値より大きく、基礎となるデバイスが vPMEM の場合、 vPMEM ドライバは vPMEM ドライバのカーネル・スレッドに非同期I/Oを委譲し、パフォーマンスを向上させる。 0を指定すると、 posix_aio_delegateiotodrPivuerproksteh のチューナブル・パラメーターが無効になる。
変更の始めposix_ aio_queue_enhanced_search変更の終わり
目的
キュー内のAIOリクエストを見つけるために、既存の検索アルゴリズムを使うか、拡張された検索アルゴリズムを使うかを指定する。
チューニング
この調整可能なパラメータ値が 1に設定されている場合、キュー内のAIOリク エストを見つけるために、拡張検索アルゴリズムが使用される。 そうでない場合は、既存のアルゴリズムが使われる。 AIO検索要求の性能は、強化された検索アルゴリズムによって改善される。 アルゴリズムを切り替えるには、 posix_ aio_queue_enhanced_search 調整可能パラメーターを必要な値に設定し、システムを再起動する。 デフォルトでは、 posix_aio_queue_enhanced_search 調整可能パラメータ値は 1 に設定され、拡張検索アルゴリズムが使用される。 調整可能なパラメータ値を 0に設定すると、既存のアルゴリズムが使用される。

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

  • ファイルシステムのメモリ使用量を表示するには、以下のコマンドを入力する:
    cat /proc/sys/fs/jfs2/memory_usage

    これは、メタデータ・キャッシュ、'inodeキャッシュ、および総メモリ使用量をバイト単位で返す。

  • ファイル・システムの統計情報を表示するには、以下のコマンドを入力する:
    cat /proc/sys/fs/jfs2/statistics

    これは、icache ヒット、icache ミス、および icache 活動化の数を返します。

  • バッファ不足の値が表示された回数や、 unmap 操作に失敗した回数など、LBP サポートに関連するシステム統計を表示するには、以下のコマンドを入力します:
    cat/proc/sys/disk/lbp/statistics

セキュリティー

RBAC ユーザーの注意: このコマンドは特権操作を実行できます。 特権命令を実行できるのは特権ユーザーのみです。 権限と特権の詳細については、セキュリティ特権コマンドデータベースを参照してください。 このコマンドに関連する特権と権限のリストについては、'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 tunableパラメータのヘルプ情報を表示するには、以下のコマンドを入力する:
    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