FCM バッファー・プールとメモリーの要件

パーティション・データベース・システムでは、高速コミュニケーション・マネージャー (FCM) バッファー共有メモリーはデータベース・マネージャーの共有メモリーの中から割り振られます。

これを 図 1に示します。

図1: 複数の論理パーティションが使用されている場合の FCM バッファー・プール
複数の論理区画の FCM バッファー・プール・コンポーネント

各データベース・パーティションの FCM バッファーの数は、fcm_num_buffers データベース・マネージャー構成パラメーターで制御します。 デフォルトでは、このパラメーターは automatic に設定されます。 このパラメーターを手動でチューニングする場合は、システム・モニター・エレメント buff_freebuff_free_bottom からのデータを使用します。

各データベース・パーティションの FCM チャネルの数は、fcm_num_channels データベース・マネージャー構成パラメーターで制御します。 デフォルトでは、このパラメーターは automatic に設定されます。 このパラメーターを手動でチューニングする場合は、システム・モニター・エレメント ch_freech_free_bottom からのデータを使用します。

データベースマネージャーは Db2® データベースマネージャは、必要に応じてFCMバッファとチャネルを割り当てることで、FCMメモリリソースを自動的に管理できます。 この機能はパフォーマンスの向上につながり、 “out of FCM resource” ランタイムエラーを防ぐ。 FCMバッファとチャネルはFCM共有メモリセットから割り当てられる。 FCM共有メモリのサイズは、設定されたFCMバッファ数によって決定され、常にFCMバッファ数が最初に設定されたFCM_NUM_BUFFERS値よりも少なくとも25%増加できるようにサイズ設定されます。

Linux® および AIX オペレーティングシステムでは、データベースマネージャーは FCM バッファーとチャンネル用に追加の 4 GB のシステムメモリーを事前に割り当てることもできます。 この4GBの追加メモリは、基本FCM共有メモリセットサイズに追加される。 4GBのメモリ領域は、FCMバッファまたはチャネルがこのメモリを使用する必要がある場合にのみコミットされる。 AIX システムでは、追加の4GBメモリは常に有効になっている。 Linux では、 4G の追加メモリがデフォルトの動作ですが、レジストリ変数 DB2_FCM_SETTINGS の FCM_MAXIMIZE_SET_SIZE オプションを NO、つまり FALSE に設定することで、この追加メモリを無効にすることができます。