システムのメモリー使用法は、DB2 で使用可能な多数の構成パラメーターを使って制御します。 このパラメーターの中には、サーバーのメモリーを制御するパラメーター、 クライアントのメモリーを制御するパラメーター、 およびその両方を制御するパラメーターがあります。 また、メモリーの割り振りまたは割り振り解除を実行するタイミングやシステム領域もそれぞれ異なります。
システム管理者は、システム全体でのメモリー使用量を平衡化することも考慮する必要があります。 オペレーティング・システムで実行されるアプリケーションの種類によって、 メモリーの使用法もそれぞれ異なる可能性があります。 たとえば、データベース・マネージャーでは、データ・キャッシュのためには、 オペレーティング・システムの機能ではなく独自のバッファー・プールを使用しますが、 アプリケーションの中にはファイル・システム・キャッシュを使用するものもあります。 詳細については、メモリー使用法を制御するパラメーターの設定を参照してください。
図 88 は、データベース・マネージャーがさまざまなタイプのメモリーを使用する様子を示しています。 メモリー使用を表すこの図は、 エンタープライズ拡張エディション、 または複数論理ノード環境には当てはまりません。 エンタープライズ拡張エディション、 または複数論理ノード環境には、 (ノードごとに 1 つの) データベース・マネージャー共用メモリー・セットがあります。
図 88. データベース・マネージャーによって使用されるメモリーのタイプ
![]() |
メモリーは、以下に示す時点でデータベース・マネージャー各インスタンスに対して割り振られます。
データベースがあるアプリケーションによってすでに使用中である場合は、 その後から接続を行うアプリケーションには、 そのアプリケーション用のエージェント私用メモリーとアプリケーション大域共用メモリーしか割り振られません。
図 88 は、構成パラメーターの設定値がメモリーに与える影響について示しています。 特に、以下にリストするパラメーターを使用すると、 特定の目的のために割り振られるメモリーの量を制限することができます。 (区分データベース環境では、このメモリーは各データベース区画上に必要です。)
図 89 はアプリケーションのサポートに使用されるメモリーの量を合計します。 以下に示す構成パラメーターを使用して、 "メモリー・セグメント" (論理メモリーの部分) の数およびそれらのサイズに制限を加えることにより、 図で説明したメモリーのサイズの制御を行うことができます。
図 89. データベース・マネージャーによるメモリーの使用方法
![]() |
FCM のメモリー要件は、FCM バッファー・プールから割り振られるか、 データベース・マネージャーの共用メモリーと FCM バッファー・プールの両方から割り振られます。 どちらになるかは、区分データベース・システムが複数の論理ノードを使うかどうかで決まります。 FCM バッファー・プールについて詳しくは、以下の説明を参照してください。
図 90. 複数の論理ノードが使用されない場合の FCM バッファー・プール
![]() |
区分データベース・システムで複数の論理ノードが使用されている場合、 データベース・マネージャーの共用メモリーと FCM バッファー・プールは 図 91 で示すようになります。
図 91. 複数の論理ノードが使用される場合の FCM バッファー・プール
![]() |
並列システムの場合には、アプリケーション制御ヒープ用のスペースも必要になります。 これは、1 つのデータベース区画において、 同じアプリケーションの代理として処理を行うエージェントの間で共用されるものです。 ヒープが割り振られるのは、 アプリケーションからの要求を受け取った最初のエージェントが接続を要求するときです。 エージェントは、 調整エージェントかサブエージェントのいずれかになります (データベース・エージェントを参照してください)。
搭載可能な最大量のメモリーがシステムにインストールされている場合でも、 メモリーを割り振るパラメーターは、絶対に 許容最大値に設定しないでください。 値を設定する時は、十分な注意が必要です。 ほとんどのパラメーターでは、使い方によっては、 データベース・マネージャーがマシン上で使用可能な全メモリーをごく簡単にまた瞬時に使い果たすことができるからです。 また、メモリー量が大きいとその管理のためにデータベース・マネージャーのほうで余計な作業が必要になり、 オーバーヘッドが増大してしまいます。
UNIX ベースのオペレーティング・システムの中には、 プロセスがスワップ・スペースにページアウトされるときではなく、 プロセスがメモリーを割り振る時点でスワップ・スペースを割り振るものがあります。 そのような場合には、 共用メモリーの合計サイズと等量のページング・スペースを用意する必要があります。
構成パラメーターの大部分では、メモリーは必要なときだけコミットされます。 これらのパラメーターは特定のメモリー・ヒープの最大サイズを反映します。 この規則の注意すべき例外として、 パラメーターの値に基づいてメモリーが十分にコミットされる次のようなパラメーターがあります。
この種のタイプのパラメーターの適切な値を決めるには、 ベンチマーク・テストを行って決めるのが最も良い方法です。 ベンチマーク・テストでは、 通常の SQL ステートメントおよび最悪ケースの SQL ステートメントをサーバーに対して実行し、 そこでパラメーターの値を修正しながら、 パフォーマンスがこれ以上あがらないポイントを見つけます。 パフォーマンスとパラメーター値の関係をグラフで表すと、 曲線が停滞または降下を始めるポイントが、 割り振りを増加してもアプリケーションには利益をもたらさずに、 単にメモリーの無駄使いになってしまうポイントということになります。 (第 31 章, ベンチマーク・テストを参照してください。)
パラメーターによっては、メモリー割り振りの上限が、 現存のハードウェアおよびオペレーティング・システムのメモリー容量を超える場合があります。 これらの限界値は、将来的な増加に備えて決められたものです。
パラメーターの有効範囲については、 第 32 章, DB2 の構成のパラメーター記述を参照してください。
以下に示す高速コミュニケーション・マネージャー (FCM) の構成パラメーターの構成を行うときは、 まずは省略時値から始めるようにしてください。
これらのパラメーターをチューニングするには、データベース・システム・モニターを使用して、 空きバッファー、空きメッセージ・アンカー、空き接続項目、 および空き要求ブロックの最低水準点をモニターしてください。 最低水準点が対応する空きデータ項目の数の 10 パーセントより少ない場合には、 対応するパラメーターの値を増やす必要があります。 データベース・システム・モニターについては、 データベース・システム・モニターの使用法を参照してください。
FCM 通信を使用可能にするための情報については、管理の手引き: 計画 を参照してください。