管理の手引き


メモリー・モデル

メモリーは、データベース内での作業に大きな影響を与える点で重要です。 データベース内のこれらのエリア間で使用可能なメモリーをどのように分割するかによって、 データベースの実行状況を制御することができます。 この異なるヒープ間でのメモリーの分割は、構成パラメーターで制御します。 このセクションでは、主要な構成パラメーターおよびこれらが制御するメモリーについて説明します。 このトピックの詳細については、DB2 でのメモリーの使用方法を参照してください。

区画にあるエンジン・ディスパッチャブル・ユニット (EDU) はすべて、 インスタンス共用メモリーに接続されています。 データベース内で作業するすべての EDU は、 そのデータベースのデータベース共用ディレクトリーに接続されています。 特定のアプリケーションに代わって作業するすべての EDU は、 そのアプリケーションのアプリケーション共用メモリーに接続されています。 このタイプの共用メモリーは、 区画内または区画間の並行性が使用可能になっている場合にのみ割り当てられます。 これで、各 EDU には私用メモリーがあります。

データベースが開始されると、 インスタンス共用メモリー (データベース・マネージャー共用メモリーともいう) が割り当てられます。 インスタンス共用メモリーから、その他すべてのメモリーが接続 (または割り当て) されます。 高速コミュニケーション・マネージャー (FCM) が使用される場合には、 このメモリーから取り出されたバッファーが使用されます。 FCM は、特定のデータベース環境におけるデータベース・サーバー間およびデータベース・サーバー内での内部通信 (主にメッセージ) に使用されます。 最初のアプリケーションがデータベースに接続すると、 データベース共用、アプリケーション共用、およびエージェント私用メモリー・エリアが割り当てられます。

データベースが最初に活動化または接続されると、 データベース共用メモリー (データベース大域メモリーともいう) が割り当てられます。 このメモリーは、このデータベースに接続するすべてのアプリケーションが使用できます。 データベース共用メモリーには、以下のものを含む数多くの異なるメモリー・エリアがあります。

データベース・マネージャー構成パラメーター numdb は、 並行して活動化できるローカル・データベースの数を指定します。 区分データベース環境では、 このパラメーターにより、データベース区画サーバー上の活動状態のデータベース区画数が制限されます。 numdb パラメーターの値は、割り当てられるメモリーの合計量に影響を与えます。

アプリケーションがデータベースに接続すると、 アプリケーション共用メモリー (アプリケーション・グローバル・メモリーともいう) が割り当てられます。 この割り当てが実行されるのは、 区分データベース環境の場合、あるいは、 データベース・マネージャー構成パラメーター intra_parallel がオンの場合だけです。 このメモリーは、データを共用し、 アプリケーションの代わりに作業するエージェントがデータを共用してアクティビティーを調整するために使用されます。

データベース構成パラメーター maxappls は、 データベースに接続するアプリケーションの数の上限を設定します。 データベースに接続するアプリケーションごとに私用メモリーがいくらか割り当てられるので、 使用可能な並行アプリケーションの数を多くすると、使用されるメモリーも増える可能性があります。

アプリケーションの最大数は、ある程度 maxagents (並行環境の場合は max_coordagents) によっても制御されています。 maxagents パラメーターは、 区画にあるデータベース・マネージャー・エージェントの合計数の上限を設定します。 これらのデータベース・マネージャー・エージェントには、 活動状態の調整エージェント、サブエージェント、 非活動状態のエージェント、およびアイドル・エージェントが含まれます。

エージェント私用メモリーは、エージェントが特定のアプリケーションでの作業を割り当てられる際に、 このエージェントに対して割り当てられます。 エージェント私用メモリーはエージェントに対して割り当てられるもので、 その特定のエージェントによってのみ使用される割り当てメモリー (分類ヒープやアプリケーション・ヒープなど) を含んでいます。

共用メモリーには、いくつか特別なタイプがあります。

図 76. バッファー・プールと拡張記憶


BPE00000

拡張記憶は、メイン・バッファー・プールの拡張検索バッファーとして機能します。 このトピックの詳細については、メモリーの拡張を参照してください。 これは 4 GB よりもずっと大きく、主メモリーが大きなマシンを活用するのに最適です。 拡張記憶キャッシュは、メモリー・セグメントとして定義されます。

実アドレス可能メモリーの一部を拡張記憶域キャッシュとして使用しようとする場合には、 jfs キャッシュまたはプロセス私用アドレス・スペースなどの他の目的ではこのメモリーをマシン上で使用できなくなることに注意してください。 拡張記憶キャッシュに追加の実アドレス可能メモリーを割り当てると、 システム・ページングが増加する可能性があります。

以下に示すデータベース構成パラメーターは、拡張記憶で使用可能なメモリーの量とサイズに影響を与えます。

各表スペースには、バッファー・プールが割り当てられます。 拡張記憶キャッシュは、常に 1 つまたは複数の特定のバッファー・プールに関連付けておく必要があります。 拡張記憶キャッシュのページ・サイズは、 関連付けられたバッファー・プールのページ・サイズに適合しなければなりません。

拡張記憶キャッシュについて詳しくは、メモリーの拡張を参照してください。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]