sheapthres - ソート・ヒープしきい値構成パラメーター

このパラメーターは、メンバー上のソート・ヒープに基づく操作で使用可能な専用ソート・メモリー予約合計量のしきい値を表します。 ソート・メモリー予約要求がこのしきい値を超えている場合は、減らされる可能性があります。

構成タイプ
データベース・マネージャー
適用
  • ローカルとリモート・クライアントを持つデータベース・サーバー
  • ローカル・クライアントを持つデータベース・サーバー
  • ローカル・クライアントおよびリモート・クライアントを持つパーティション・データベース・サーバー
パラメーター・タイプ
オンラインで構成可能
0 と非 0 の間の設定の切り替えはオンライン変更ではなく、インスタンスの再始動が必要になります。 それ以外の変更はすべてオンラインで行うことができ、インスタンスの接続が必要です。
伝搬クラス
即時
デフォルト [範囲]
32 ビット・プラットフォーム
0 [0250 - 2097152]
64 ビット・プラットフォーム
0 [0250 - 2147483647]
単位
ページ (4 KB)

sortheap パラメーター設定は操作ごとの最大メモリー使用量をガイドしますが、 sheapthres 設定は、メンバーごとにメモリー・コンシューマーをソートするために使用できる 専用メモリー 全体をガイドします。 メンバーのすべてのアクティビティーによって要求される合計予約量が sheapthres 設定を超過したときに、 sheapthres パラメーターは、許可されるソート予約量を減らすことによって使用可能メモリー全体を制御します。 付与されるソート予約は (sheapthres / total private sort requested * sortheap requested) です。 sortheap 設定の少なくとも 25% は、メモリー・コンシューマーに対して常に使用可能です。 予約の要求はこの量より減らされません。

使用できるソート・メモリー・モデルは 3 つあります。 使用されるモデルは、構成内のエレメントの数によって決まります。
共有ソート・メモリー・モデル
共有ソート・メモリー・モデルはデフォルトのモデルであり、sheapthres = 0 の場合に常に有効です。 sheapthres 設定は専用ソート・モデルのスロットルを制御します。 設定値が 0 の場合、専用ソート・メモリーが使用不可になります。 共有ソート・モデルでは、すべての sortheap 割り振りは、データベース共有メモリー (database_memory) の一部である共有ソート・ヒープ (sheapthres_shr) からのものです。 共有ソート・メモリー・モデルは、 sortheap および sheapthres_shr の STMM チューニングを行うことができる唯一のモデルです。
専用ソート・メモリー・モデル
専用ソート・メモリー・モデルは、sheapthres がゼロでない場合に常にアクティブになり、構成によって共有ソート・メモリーが使用可能になることもありません。 専用ソート・メモリー・モデルの下では、sortheap 割り振りは、専用メモリーからのみ割り振られます。 共有ソート・メモリーを明示的に要求する操作は無効であり、エラーを返します。 このモデルの下では、STMM ソート・チューニングは行われません。
ハイブリッド・ソート・メモリー・モデル
ハイブリッド・ソート・メモリー・モデルは sheapthres がゼロでない場合に常にアクティブになりますが、操作によっては構成によって共有ソート・メモリーが使用可能にされることもあります。 共有ソート・メモリーを必要としない操作は、専用メモリーから割り振られます。 このモデルの下では、STMM ソート・チューニングは行われません。
以下の構成設定のいずれも共有ソート・メモリーを使用可能にすることができます。
  • 内部並列処理が使用可能である (INTRA_PARALLEL = YES)
  • 接続コンセントレーターが使用可能 (MAX_CONNECTIONS > MAX_COORDAGENTS)
  • DB2_WORKLOAD=ANALYTICS
共有ソート・メモリーが使用可能でない場合、共有ソート・メモリー・モデルおよびハイブリッド・ソート・メモリー・モデルはアクティブにならず、以下の操作が失敗します。
  • XML 表へのデータのロード
  • カラム・オーガナイズの照会処理
  • パーティション内並列処理を要求するアプリケーション
上記リストの操作のいずれかが失敗する場合、以下のステップすべてを実行して、共有ソート・メモリー・モデルを使用可能にしてください。
  • sheapthres 構成パラメーターを 0 に設定します。
  • Db2® インスタンスをリサイクルします。 Db2 インスタンスをリサイクルするには、 db2stop コマンドに続けて db2start コマンドを実行します。
  • sheapthres_shr パラメーターを適切に構成します。

モニター

使用可能なモニター・エレメントは数多くあります。

一般的なモニターの場合は、以下のモニター・エレメントを使用できます。
  • ACTIVE_SORTS
  • TOTAL_SECTION_SORT_TIME
  • TOTAL_SECTION_SORT_PROC_TIME
  • TOTAL_SECTION_SORTS
  • TOTAL_SORTS
制約のあるソート・メモリー構成の合計のモニターの場合は、以下のモニター・エレメントを使用できます。
  • POST_THRESHOLD_SORTS (専用ソート)
  • POST_THRESHOLD_PEDS
  • POST_THRESHOLD_PEAS
  • POST_SHRTHRESHOLD_HASH_JOINS (専用ハッシュ結合)
  • POST_THRESHOLD_HASH_GRPBYS
  • POST_THRESHOLD_OLAP_FUNCS
  • SORT_OVERFLOWS
  • TQ_SORT_HEAP_REJECTIONS
  • SORT_HEAP_ALLOCATED (専用ソート予約量)

SORT_HEAP_ALLOCATED モニター・エレメントは、実際に割り振られるメモリー量ではなく、予約要求量を反映します。 要求された予約量すべてを完全に割り振らないとしても、それは正常な操作です。

専用ソート予約レベルのモニターには、MON_GET_DATABASE ルーチンを使用します。 以下の例は、専用ソート予約レベルのモニターに使用できる照会を示しています。
select SORT_HEAP_ALLOCATED from table (MON_GET_DATABASE (null))
この照会は、データベースの専用ソート・メモリー予約レベルを 4K 単位で返します。
SORT_HEAP_ALLOCATED
------------------- 
             128411
専用ソート・メモリー使用量のモニターには、MON_GET_MEMORY_POOL ルーチンを使用します。 以下の例は、専用ソート・メモリー使用量のモニターに使用できる照会を示しています。
select edu_id, memory_pool_used, memory_pool_used_hwm 
from table (mon_get_memory_pool(null,null,null)) 
where memory_pool_type='SORT'
この照会は、専用ソート・プールのメモリー割り振りレベルを 1K 単位で返します。
EDU_ID               MEMORY_POOL_USED     MEMORY_POOL_USED_HWM
-------------------- -------------------- --------------------
                2058                  128                  128
                2058                  192                  192
                2058                 1280                 1280

  3 record(s) selected.