ストレージ - ヒープ・ストレージの調整

最高のパフォーマンスを得るには、初期ヒープ・セグメントを、ヒープ・ストレージに対するすべての要求を満たすために十分な大きさにしてください。 RPTSTG(ON) オプションによって生成された言語環境プログラム・ストレージ報告書には、使用中のヒープ・ストレージの量、ヒープに割り振られたセグメントの合計数、オプショナル・ヒープ・プールの統計アルゴリズム、および HEAP、ANYHEAP、BELOWHEAP、および HEAPPOOLS ランタイム・オプションの推奨値が示されます。 PL/I マルチタスキング・アプリケーションの場合、言語環境プログラム THREADHEAP ランタイム・オプションを使用して、タスク・レベルでヒープ・ストレージを調整できます。

ヒープ・プール・アルゴリズムを使用して、ヒープ・ストレージ割り振りのパフォーマンスを (特に、ヒープ・ストレージの競合が発生するマルチスレッド・アプリケーションで) 著しく向上できます。ただし、アルゴリズムが正しく調整されていない場合、ヒープ・ストレージを効率的に使用できない可能性があります。

アプリケーションのヒープ・プール・アルゴリズムを調整するには、以下の 3 つのステップのプロセスが必要です。

  1. ランタイム・オプション HEAPPOOL(ON) (デフォルト・セル・サイズとパーセント) を使用してアプリケーションを実行し、次に、代表的なアプリケーション・ワークロードについて、ある期間ランタイム・オプション RPTSTG(ON) を使用してアプリケーションを実行します。次に、「エンクレーブのストレージ報告書」報告書の「HEAPPOOLS 統計」および「HEAPPOOLS 要約」セクションを調べてください。
  2. 最初の実行から HEAPPOOLS ランタイム・オプションのセル・サイズを「推奨セル・サイズ」に変更します。 HEAPPOOLS オプションにデフォルト・パーセンテージを使用して、代表的なワークロードでアプリケーションを再実行します。ストレージ報告書を調べてください。
  3. 「現行セル・サイズの推奨パーセント」としてリストされた値は、使用ストレージを最小するための最適値です。

ワークロードに著しい変化があったときは必ず、上記の調整ステップを繰り返して最適な HEAPPOOLS 値を取得してください。

スタック・ストレージは、言語環境プログラム STACK および THREADSTACK ランタイム・オプションを使用して調整できます。 RPTSTG(ON) を使用すると、アプリケーションが実行されるときに、ストレージ要求に関する統計が取得し続けられるため、RPTSTG(ON) はアプリケーションのパフォーマンスを低下させるおそれがあります。そのため、実動ジョブを実行するときは、常に、IBM 提供のデフォルト設定である RPTSTG(OFF) を使用してください。アプリケーションのデバッグおよび調整時にのみ RPTSTG(ON) を使用してください。