ページ・スチール・アルゴリズムの選択

Db2 が新しいページを格納するためにバッファプールからページを削除する必要がある場合、この操作はバッファプールからページを盗むと呼ばれます。

このタスクについて

デフォルトでは、 Db2 は、ストレージ内のページ管理に、最近使用されていないものから順に削除する(LRU)アルゴリズムを使用しています。 このアルゴリズムは、最近使用されていないページをバッファー・プールから削除し、最近使用されたページをバッファー・プールに保持します。 しかし、 Db2 はバッファープールをより効率的に管理するために、異なるページ盗用アルゴリズムを使用することができます。

プロシージャー

ページ・スチールのアルゴリズムを指定するには、次のようにします。

  1. バッファー・プールに対して最も効率的なページ・スチール・アルゴリズムを判別します。
    オプション 説明
    PGSTEAL(LRU)

    ほとんどの場合はこのオプションを使用します。 Db2最長未使用時間 アルゴリズムを使用して、バッファー・プール・ページをスチールに使用できるようにする時期を決定します。

    このオプションでは、頻繁に使用されるページがバッファー・プールに保持され、使用されていないページが削除されます。 これにより、確実に最も頻繁にアクセスされるページが常にバッファー・プールに保持されます。

    このオプションを使用すると、LRU チェーン保守に追加のコストがかかり、余分のラッチ競合を生じる可能性があります。

    PGSTEAL(FIFO) Db2先入れ先出しアルゴリズムを使用して、バッファー・プール・ページをスチールに使用できるようにする時期を決定します。

    このオプションでは、参照頻度に関係なく、バッファー・プール内の最も古いページが削除されます。 このページ・スチール方式では、削除可能なページを判別するコストが削減され、LRU アルゴリズムの結果生じる内部ラッチ競合を軽減します。

    このオプションは、入出力がないバッファー・プール (つまり、表スペースや索引項目を常にメモリーに常駐させておく必要があるバッファー・プール) に対して指定してください。

    PGSTEAL(NONE) Db2 オブジェクトが開かれた際にページをバッファプールにプリロードし、オブジェクトが開かれている間は、オブジェクトのすべてのページをバッファプール内に常駐させようとします。

    変更の開始Db2 バッファプールに収まらないページ用のオーバーフロー領域を暗黙的に作成します。 オーバーフロー域のサイズは、バッファー・プールの VPSIZE 値に基づいています。 通常、オーバーフロー領域は、50~6400バッファの範囲でVPSIZE値の10パーセントです。 ページ・スチールは、オーバーフロー域で行われます。 オーバーフロー領域用にLRUチェーンが維持されますが、オーバーフロー領域でのバッファーステーリングにはFIFOページステーリングアルゴリズムが使用されます。変更の終わり

    このオプションは、アクセス頻度の高い、安定した、予測可能なサイズのオブジェクトのバッファー・プールに対してのみ指定します。 以下のリアルタイム統計値を使用して、候補オブジェクトを識別できます。

    変更の開始
    • GETPAGES
    • NACTIVE
    • REORGINSERTS
    変更の終わり

    変更の開始このオプションの利点を実現するためには、バッファー・プールがオーバーフロー域と、同時に開く可能性のある全割り当て済みオブジェクトのすべてのページの両方を収容するのに十分な大きさがあることを確認する必要があります。 オーバーフロー域に割り当てられたページは、オブジェクトを閉じるまでは、バッファー・プールのメイン部分に戻すことはできません。変更の終わり

    変更の開始A DSNB604I オーバーフロー領域が使用された際にメッセージが発行されます。変更の終わり

    変更の開始 Db2 12 では、PGSTEAL(NONE) と FRAMESIZE( ) は互換性がありません。 2G これらのオプションを一緒に指定すると、 Db2 はメッセージを発行し DSNB549I し、バッファプールの次の割り当てが行われるまで、PGSTEAL(LRU)アルゴリズムを使用します。 ただし、PGSTEAL (NONE) は BSDS に記録されます。 PGSTEAL (NONE) を使用するには、FRAMESIZE (1M) または FRAMESIZE (4K) を指定します。 詳細については、 Db2 12 のストレージ リリースの非互換性PGSTEAL(NONE) バッファー プールの動作の変更を参照してください。変更の終わり

  2. ALTER BUFFERPOOL コマンドを発行して PGSTEAL オプションを指定します。

次の作業

汎用プログラミングインターフェース情報の開始。

変更の開始PGSTEAL(NONE) オプションで定義されるバッファー・プールをモニターして、サイズがオブジェクトを収容する十分な大きさであることを確認します。 Db2 メッセージを発行する DSNB604I PGSTEAL(NONE)バッファプールのオーバーフロー領域が使用されるたびにメッセージを発行します。 DISPLAY BUFFERPOOL DETAILコマンドの出力には、メッセージのオーバーフロー領域の使用に関する統計情報が含まれています。 DSNB416I メッセージに含まれています。変更の終わり

汎用プログラミングインターフェース情報の終了。