Db2 Connect のカーネル・パラメーターの変更 (Linux)

ユーザーが Db2® データベース・システムをインストールする前に、 Linux® カーネル・パラメーターを更新します。 ユーザーが Db2 データベース・システムを実行する場合、 Linux の特定のカーネル・パラメーターのデフォルト値では十分ではありません。

始める前に

カーネル・パラメーターを変更するには、root ユーザー権限が必要です。

プロシージャー

Red Hat および SUSE Linux システムでカーネル・パラメーターを更新するには、以下の手順を実行します。

  1. ipcs -l コマンドを実行します。
  2. ご使用のシステムで変更が必要な場合は、出力を分析してください。
    // の後に、パラメーター名の内容を示すコメントが追加されました。
       # ipcs -l
    
       ------ Shared Memory Limits --------
       max number of segments = 4096               // SHMMNI	
       max seg size (kbytes) = 32768               // SHMMAX
       max total shared memory (kbytes) = 8388608  // SHMALL
       min seg size (bytes) = 1
    
       ------ Semaphore Limits --------
       max number of arrays = 1024                 // SEMMNI
       max semaphores per array = 250              // SEMMSL
       max semaphores system wide = 256000         // SEMMNS
       max ops per semop call = 32                 // SEMOPM
       semaphore max value = 32767
    
       ------ Messages: Limits --------
       max queues system wide = 1024               // MSGMNI
       max size of message (bytes) = 65536         // MSGMAX
       default max size of queue (bytes) = 65536   // MSGMNB
    • まず Shared Memory Limits のセクションで、参照する必要のあるパラメーターは SHMMAX と SHMALL です。 SHMMAX は Linux システム上の共用メモリー・セグメントの最大サイズですが、SHMALL はシステム上の共用メモリー・ページの最大割り振りです。
      • SHMMAX の値は、ご使用のシステム上の物理メモリーの量と同じ値に設定することが推奨されています。 ただし、x86 システムで必要な最小値は 268435456 (256 MB) です。64 ビット・システムの場合は 1073741824 (1 GB) です。
      • SHMALL はデフォルトでは 8 GB に設定されます (8388608 KB = 8 GB)。 8 GB を超える物理メモリーがあり、それを Db2 データベース・システムに使用する場合、このパラメーターはコンピューターの物理メモリーの約 90% に増加します。 例えば、主に Db2 データベース・システムに 16 GB のメモリーを使用するコンピューター・システムがある場合は、SHMALL を 3774873 に設定できます (16 GB の 90% は 14.4 GB です。 14.4 GB を 4 KB で除算すると、基本ページ・サイズになります)。 ipcs の出力では、SHMALL がキロバイトに変換されます カーネルには、ページ数としてこの値が必要になります。 Db2 バージョン 11.5 にアップグレードするときに、デフォルトの SHMALL 設定を使用しない場合は、SHMALL 設定をさらに 4 GB 増やす必要があります。 このメモリーの増加は、バッファーまたはチャネルを増やすため、高速コミュニケーション・マネージャー (FCM) によって実行されます。
    • 次のセクションは、オペレーティング・システムに使用できるセマフォーの量を示しています。 カーネル・パラメーター sem は、SEMMSL、SEMMNS、SEMOPM、および SEMMNI の 4 つのトークンで構成されます。 SEMMNS は、SEMMSL と SEMMNI を乗算した結果です。 必要に応じて、データベース・マネージャー用に配列の数 (SEMMNI) を増やす必要があります。 通常、SEMMNI はシステムで想定されているエージェントの最大数の 2 倍になります。これは、データベース・サーバー・コンピューター上の論理区画数に加えて、データベース・サーバー・コンピューター上のローカル・アプリケーションの接続数を加算した値です。
    • 3 番目のセクションは、システム上のメッセージを示しています。
      • MSGMNI は開始できるエージェントの数に作用し、MSGMAX は 1 つのキューで送信できるメッセージのサイズに作用し、MSGMNB はキューのサイズに作用します。
      • MSGMAX は 64 KB (つまり 65535 バイト) に変更でき、MSGMNB は 65535に増やすことができます。
  3. これらのカーネル・パラメーターを変更するには、 /etc/sysctl.conf ファイルを編集します。 このファイルが存在しない場合は、作成してください。
    以下の行は、ファイルに追加される内容の例です。
    kernel.sem=250 1024000 32 1024
    #Example shmmax for a 64-bit system
    kernel.shmmax=1073741824	
    #Example shmall for 90 percent of 16 GB memory
    kernel.shmall=3774873		
    kernel.msgmax=65535
    kernel.msgmnb=65535
    kernel.msgmni=2048
  4. -p パラメーターを指定して sysctl を実行し、デフォルト・ファイル /etc/sysctl.confから sysctl 設定をロードします。
       sysctl -p
  5. すべての再始動後に変更を有効にするには、ユーザー・システムに応じて以下の手順を実行します。
    • (SUSE Linux) boot.sysctl をアクティブにする
    • (Red Hat) rc.sysinit 初期化スクリプトは、 /etc/sysctl.conf ファイルを自動的に読み取ります。