[z/OS]

DEFINE BUFFPOOL

主ストレージ内にメッセージを保持するために使用されるバッファー・プールを定義するには、MQSC コマンド DEFINE BUFFPOOL を使用します。

MQSC コマンドの使用

MQSC コマンドの使用方法については、 MQSC コマンドを使用したローカル管理タスクの実行を参照してください。

IBM® i UNIX および Linux® Windows z/OS®
      1

z/OS 列のシンボルの説明については、 z/OSでのコマンドの使用を参照してください。

同義語: DEF BP

DEFINE BUFFPOOL

構文図を読むビジュアル構文図をスキップ DEFINE BUFFPOOL ( buf-pool-id (バッファー・プール ID) ) BUFFERS(1000)BUFFERS(integer)LOC(BELOW)LOCATION(ABOVE)PAGECLAS(4KB)PAGECLAS(FIXED4KB)NOREPLACEREPLACE

使用上の注意

  1. キュー・マネージャーが開始したタスク・プロシージャーで、CSQINP1 DD 連結によって識別されるデータ・セット内の DEFINE BUFFPOOL コマンドを指定します。
  2. バッファー・プール情報を表示するには、DISPLAY USAGE TYPE (PAGESET) コマンドを使用します ( DISPLAY USAGE を参照)。
  3. ALTER BUFPOOL コマンドを使用して、事前定義バッファー・プールの設定を動的に変更します ( ALTER BUFFPOOL を参照)。

DEFINE BUFFPOOL のパラメーターの説明

同じバッファー・プールに複数の DEFINE BUFFPOOL コマンドを発行すると、最後のコマンドのみが処理されます。
(buf-pool-id)
バッファー・プール ID。

このパラメーターは 0 から 15 の範囲の整数です。 OPMODEOPMODE=(NEWFUNC, 800) に設定されている場合、このパラメータはゼロから99の範囲の整数になる。

BUFFERS ( 整数 )
このパラメーターは必須で、このバッファー・プールで使用する 4096 バイト・バッファーの数です。

LOCATION パラメーターの値が BELOW である場合、バッファーの最小値は 100 で、最大値は 500,000 です。 LOCATION パラメータの値が ABOVE の場合、有効な値は 100 から 999999999(999)の範囲である。 LOCATION ABOVEを指定したバッファー・プール内のバッファーに使用されるストレージは、4MB の倍数で取得されます。 したがって、1024 の倍数であるBUFFERS値を指定すると、ストレージが最も効率的に使用されます。

各バッファー・プール内に定義可能なバッファー数については、バッファーおよびバッファー・プールを参照してください。

バッファー・プールを定義する際は、2 GB 境界より上または下で、十分な量の使用可能ストレージが確保されるよう取り計らってください。 詳しくは、 アドレス・スペース・ストレージを参照してください。

LOCATION または ( または ) LOCBELOW ABOVE

LOCATIONまたはLOCパラメーターは、指定されたバッファー・プールによって使用されるメモリーの場所を指定します。

LOCATIONLOCは同義語であり、どちらか一方を使用できますが、両方を使用することはできません。

このメモリ・ロケーションは、 ABOVE (64ビット)または BELOW (31ビット)のどちらかのバーとすることができ、 BELOW がデフォルトである。

ABOVE は、 が有効な場合にのみ指定できる。 OPMODE(NEWFUNC, 800) BELOW は、 の使用に関係なく指定でき、 パラメータを指定しないのと同じ効果がある。 OPMODE(NEWFUNC, 800) LOCATION

バッファー・プールを変更する場合、バッファー数を増やすか、LOCATION値を変更する場合は、使用可能なストレージが十分にあることを確認する必要があります。 バッファー・プールのロケーションの切り替えは、CPU および入出力を集中的に使用するタスクとなる可能性があります。 このタスクは、キュー・マネージャーがあまり使用されていない場合に実行する必要があります。

詳しくは、 アドレス・スペース・ストレージを参照してください。

PAGECLAS ( 4KB または FIXED4KB )

バッファー・プールのバッファーをバッキングする (補助ストレージに保管する) ために使用する仮想ストレージ・ページのタイプを記述するオプション・パラメーターです。

この属性は、ALTER BUFFPOOL コマンドを使用した結果として後から追加されたバッファーを含め、バッファー・プール内のすべてのバッファーに適用されます。 デフォルト値は 4KB で、プール内のバッファーをバッキングするためにページング可能な 4KB ページが使用されます。

バッファー・プールの LOCATION 属性を BELOW に設定した場合は、4KB だけが有効な値です。 バッファー・プールの LOCATION 属性が ABOVE に設定されている場合は、FIXED4KB を指定することもできます。 これは、バッファー・プールのバッファーをバッキングするために、固定された 4KB ページを使用することを意味します。このページは、永続的に実ストレージに固定され、補助ストレージにページアウトされません。

FIXED4KB を指定できるのは、OPMODE(NEWFUNC, 800) が有効な場合のみです。それに対して、4KB は、OPMODE(NEWFUNC, 800) の設定とは無関係に指定できます。

バッファー・プールの PAGECLAS 属性は、いつでも変更できます。 ただし、変更が実施されるのは、バッファー・プールのロケーションが 2 GB 境界より上から 2 GB 境界より下に切り替わるとき (または、その逆が起きるとき) のみです。 それ以外の場合は、値がキュー・マネージャーのログに格納され、キュー・マネージャーの次回の再始動時に適用されます。

PAGECLAS(FIXED4KB) を指定すると、バッファー・プール全体が、ページが固定された 4KB ページにバッキングされることになるため、LPAR に使用可能な実ストレージが十分にあることを確認してください。 そうしないと、キュー・マネージャーが始動しなかったり、他のアドレス・スペースが影響を受けたりする可能性があります。詳しくは、 アドレス・スペース・ストレージを参照してください。

PAGECLAS 属性の FIXED4KB 値をいつ使用するかについては、 IBM MQ Support Pac MP16: IBM MQ for z/OS -Capacity planning & tuning を参照してください。

REPLACE/NOREPLACE
キュー・マネージャーのログに既に含まれている定義を、バッファー・プールのこの定義によってオーバーライドするかどうかを示すオプション属性です。
REPLACE
バッファー・プールのこの定義により、キュー・マネージャーのログに格納されている定義 (存在する場合) をオーバーライドします。 キュー・マネージャーのログ内の定義がこの定義と異なる場合、相違点は破棄され、メッセージ CSQP064I が発行されます。
NOREPLACE
これはデフォルト値であり、以前のリリースの IBM MQと同じ動作を提供します。 バッファー・プールの定義がキュー・マネージャーのログにある場合、その定義が使用され、この定義は無視されます。
重要: キュー・マネージャーは、現在のバッファー・プール設定をチェックポイント・ログ・レコードに記録します。 これらのバッファー・プール設定は、キュー・マネージャーが後で再始動する時に自動的に復元されます。 この復元は、CSQINP1 データ・セットの処理が行われた後に実行されます。 したがって、バッファー・プールが最後に定義されてから ALTER BUFFPOOL を使用した場合、 CSQINP1 内の DEFINE BUFFPOOL コマンドは、 REPLACE 属性が指定されていない限り、再始動時に無視されます。

OPMODE=(NEWFUNC,800) から OPMODE=(COMPAT,800) への切り替え

OPMODE=(NEWFUNC,800) から OPMODE=(COMPAT,800) に切り替えると、以下の状態が生じます。
  1. ID が 15 より大きいバッファー・プールはどれも、中断状態とマークされます。 これは、これらのバッファー・プールは、OPMODE=(NEWFUNC,800) が再度指定されるまで、使用も削除も変更もできないことを意味します。 バッファー・プールに関する情報は、OPMODE=(NEWFUNC,800) が再度指定されるまで、チェックポイント・ログ・レコードに保持されます。

    中断されたバッファー・プールを使用するどのページ・セットも、中断されます。 中断されたページ・セットに関する情報も、チェックポイント・レコードに保持されます。

    中断されているページ・セット内のオブジェクト定義およびメッセージはどれも使用できません。 中断されたページ・セットを使用するキューまたはトピックを使用しようとすると、MQRC_PAGESET_ERROR メッセージが出されます。

    ユーティリティー・プログラム CSQUTIL の FORMAT 関数で TYPE(REPLACE) を指定することにより、中断状態にあるページ・セットを別のバッファー・プールに関連付けることができます。 その後、DEFINE PSID コマンドを発行して、ページ・セットを別のバッファー・プールで再び使い始めることができます。
    注: 中断状態のページ・セットを含むすべてのリカバリー単位 (未確定の単位を除く) は、ページ・セットが最後に使用されたときにキュー・マネージャーによってバックアウトされます。 未確定のリカバリー単位は、ページ・セットがキュー・マネージャーによって再び使用されるようになると、解決できます。
  2. ID が 15 以下で LOCATION 属性が ABOVE に設定されているバッファー・プールはどれも、LOCATION 属性が BELOW に切り替わり、PAGECLAS 属性が 4KB に設定されます。