カーネル・パラメーターの要件 (Linux)

データベース・マネージャーは公式を使用して、自動的にカーネル・パラメーター設定を調整するので、それらの設定値を手動で更新する必要はありません。

プロセス間通信のカーネル・パラメーター

インスタンスが開始される際に、プロセス間通信 (IPC) カーネル・パラメーターが強制最小値を下回る場合は、データベース・マネージャーがそのパラメーターを強制最小値に更新します。 IPC カーネル・パラメーター値は、 Db2® インスタンスの開始時に変更されます。
重要: Db2 インスタンスの開始時に変更された IPC カーネル・パラメーター値は、システムのリブート時には持続しません。 再始動後、 Db2 インスタンスが開始されるまで、カーネル設定は強制値よりも低くなる可能性があります。 データベースは、カーネル・パラメーター設定値を調整することによって、不必要なリソース・エラーを防ぎます。
表 1. Linux プロセス間通信カーネル・パラメーターの強制最小設定
IPC カーネル・パラメーター 強制最小設定値
kernel.shmmni (SHMMNI) 256 * <size of RAM in GB>
kernel.shmmax (SHMMAX) < RAM のサイズ (バイト)>1
kernel.shmall (SHMALL) 2 * < デフォルト・システム・ページ・サイズの RAM のサイズ>2
kernel.sem (SEMMNI) 256 * <size of RAM in GB>
kernel.sem (SEMMSL) 250
kernel.sem (SEMMNS) 256,000
kernel.sem (SEMOPM) 32
kernel.msgmni (MSGMNI) 1 024 * <size of RAM in GB>
kernel.msgmax (MSGMAX) 65,536
kernel.msgmnb (MSGMNB) 65 536 3
  1. 32 ビット Linux® オペレーティング・システムでは、 SHMMAX の強制される最小設定は 4 294 967 295 バイトに制限されます。
  2. SHMALL はシステムに割り振ることができる仮想共有メモリーの合計を制限します。 各 Db2 データ・サーバーは、使用するシステム・メモリー (コミット済みメモリーとも呼ばれる) の量を効率的に管理します。 Db2 データ・サーバーは、メモリー事前割り振りおよび動的メモリー管理をサポートするために、コミットするよりも多くの仮想メモリーを割り振ります。 メモリー事前割り当てはパフォーマンスに寄与します。 動的メモリー管理は、別々の仮想共有メモリー領域の内部で実メモリー使用量を拡張したり縮小したりするプロセスです。 メモリー事前割り当ておよび動的メモリー管理を効率的にサポートするには、データ・サーバーが物理 RAM の総量よりも多くの仮想共有メモリーをシステムに割り当てることが頻繁に必要になります。 カーネルには、ページ数としてこの値が必要になります。
  3. MSGMNB にバイト数で指定されるメッセージ・キュー・サイズ限度を大きくすると、ロード・パフォーマンスが向上する可能性があります。 ipcs -q コマンドを実行して、メッセージ・キューの使用状況を表示できます。 ロード操作の間にメッセージ・キューが容量限界に達した場合、または容量限界に到達しそうな場合は、メッセージ・キュー・サイズ限度のバイト数を増やすことを考慮してください。

強制される最小カーネル・パラメーター設定

インスタンスの開始時に、カーネル・パラメーターが強制された最小値を下回ると、データベース・マネージャーはそれを強制された最小値に更新します。 カーネル・パラメーター値は、 Db2 インスタンスの開始時に変更されます。
重要: Db2 インスタンスの開始時に変更されたカーネル・パラメーター値は、システムのリブート時には保持されません。 リブート後、 Db2インスタンスが開始されるまで、カーネル設定が強制値よりも低くなることがあります。 データベース・マネージャーは、カーネル・パラメーター設定値を調整することによって、不必要なリソース・エラーを防ぎます。
表 2. カーネル・パラメーターの強制最小値
カーネル・パラメーター 強制される最小値
fs.file-max 16384
vm.max_map_count < RAM のサイズ (バイト>/4096)
kernel.panic_on_oops 51
  1. このパラメーターは、 pureScale 構成でのみ変更されます。

他のカーネル・パラメーターの推奨設定値

他のカーネル・パラメーターの推奨設定値は、以下の表にリストされています。
表 3. その他の Linux カーネル・パラメーターの構成
カーネル・パラメーターの推奨設定値 Db2 データ・サーバーのカーネル・パラメーターの構成
vm.swappiness=5 このパラメーターは、カーネルが物理ランダム・アクセス・メモリー (RAM) からアプリケーション・メモリーをスワップしやすくする程度を定義します。 デフォルト設定はvm.swappiness=60です。 カーネル・パラメーターの推奨設定 vm.swappiness=5 では、ファイル・キャッシュのために多くのメモリーを割り当てるよりも、アプリケーション・メモリーを RAM 内に保持する方を優先するようになります。
vm.overcommit_memory=0 このパラメーターは、カーネルが割り振りを許可する仮想メモリーの量に影響します。 デフォルト設定はvm.overcommit_memory=0です。 この設定は、割り当てられる仮想メモリーが無制限であることを表します。 無制限の仮想メモリーを持つことは、 Db2 データ・サーバーにとって重要です。このデータ・サーバーは、動的メモリー管理のために追加の未使用仮想メモリー割り振りを保持します。 Linux システムでは、参照されていない割り振り済みメモリーは、RAM またはページング・スペースによってバッキングされません。 vm.overcommit_memory=2 という設定は避けてください。 この設定では、割り振りが可能な仮想メモリーの合計が制限され、結果として予期しないエラーが発生する可能性があります。
ipcmni_extend

このパラメーターは、新しい Linux Red Hat カーネルで推奨されます。これらのカーネルでは、 SHMMNISEMMNIMSGMNI などの一部のパラメーターが 32768 に制限される可能性があるためです。 ユーザーが 128GB を超える RAM を持っている場合、 ipcmni_extend パラメーターが設定されていない限り、推奨は機能しません。

詳しくは、 新しい Linux カーネルで最大セマフォー配列が適用されているためにdb2start が失敗するを参照してください。