HEAP は、初期ヒープの割り振りを制御し、追加ヒープ増分の割り振りを制御し、そのストレージの管理方法を指定します。
WebSphere® Message Broker は、初期ヒープのストレージ割り振りと後続のヒープ増分を要求します (サイズは、プロセスのタイプによって異なります)。 例えば、DFE プロセスは、初期ヒープのストレージ割り振りとして 40 MB、後続のヒープ増分として 5 MB を要求します。 RPTOPTS を使用すれば、各プロセスで有効なランタイム・オプションのレポートを生成できます。
パフォーマンス上の理由から、WebSphere Message Broker では、デフォルトが KEEP になっています。 メッセージ処理のほとんどのシナリオでは、ストレージ割り振りが 5 MB 未満であれば、ヒープ増分の中で解放されたストレージを再利用する方が効率的です。 KEEP の場合は、ストレージのすべてのセグメントが解放された場合でも、5 MB のヒープ増分が常に割り振られた状態になります。
ストレージ要求がしばしば 5 MB を超える場合は、そのような要求がヒープで直接割り振られます。 オブジェクトが解放されても、ヒープでの割り振りはそのまま残り、後続のストレージ要求のサイズがヒープ割り振りのサイズ以下であれば、その後続のストレージ要求でその割り振りが再利用されることになります。 時間が経過するにつれ、ヒープ割り振りがさまざまなサイズのオブジェクトで利用されることになり、その結果、フラグメント化が発生し、ストレージの使用量が大きくなる可能性があります。 このような環境では、Language Environment® の HEAP ランタイム環境変数を設定して FREE パラメーターを使用することを検討してください。
例えば、デフォルト値の KEEP を FREE に変更するには、以下の行を記述します。
_CEE_RUNOPTS=HEAP64(40M,5M,FREE,9M,32K,KEEP,4096,4096,FREE)