スケーラブルデータベースサーバ HiRDB Version 8 システム定義(UNIX(R)用)

[目次][索引][前へ][次へ]

2.2.53 共用メモリに関するオペランド

241) SHMMAX 共用メモリセグメントサイズの上限値
〜<符号なし整数>(単位:メガバイト)
  • 32ビットモードの場合:((6〜2047))《200》
  • 64ビットモードの場合:((6〜4194304))《1024》
グローバルバッファ用の共用メモリセグメントサイズの上限値をメガバイト単位で指定します。
HiRDBはこのオペランドの指定値を上限としてグローバルバッファ用の共用メモリセグメントを確保します。サーバマシン内のRDエリアに割り当てるグローバルバッファサイズの合計がこのオペランドの値を超える場合は,複数の共用メモリセグメントを割り当てます。
HiRDBは開始時に1サーバ当たり最大16セグメントのグローバルバッファプール用共用メモリを確保します。グローバルバッファプールが使用している共用メモリセグメントの情報はpdlsコマンド(-d mem指定)によって確認できます。
《指定値の目安》
  • このオペランドには,OSのオペレーティングシステムパラメタのshmmax(Solarisの場合はshminfo_shmmax,Linuxの場合はSHMMAX)の値以下を指定してください。shmmaxの値を変更した場合は,このオペランドの値も変更してください。オペレーティングシステムパラメタの見積もりについては,マニュアル「HiRDB Version 8 システム導入・設計ガイド」を参照してください。
<32ビットモード>
  • SHMMAXを特に指定する必要はありません。ただし,pd_sysdef_default_optionオペランドにv6compatibleを指定している場合には,200を指定してください。
  • KFPH23005-Eメッセージ(エラーコード20)が出力される場合,マニュアル「HiRDB Version 8 メッセージ」を参照してKFPH23005-Eメッセージの対策に示されるSHMMAXの値に変更してください。
<64ビットモード>
  • グローバルバッファプール用共用メモリサイズが16GB以下の場合,SHMMAXを指定する必要はありません。
  • グローバルバッファプール用共用メモリサイズが16GBより大きい場合,SHMMAXの指定値に以下の式を満たす値を指定してください。
    (SHMMAXの指定値)×16=(グローバルバッファプール用共用メモリサイズ)
《注意事項》
  • 次に示す条件を満たす場合はその分の共用メモリを確保できないため,HiRDBを開始できません。
     SHMMAXの値>shmmaxの値
  • 共用メモリセグメント数はOSのオペレーティングシステムパラメタshmmni及びshmseg(Solarisの場合はshminfo_shmmin及びshminfo_shmseg,Linuxの場合はSHMMIN及びSHMSEG)の制限を受けます。このため,グローバルバッファ用の共用メモリセグメントを複数確保する場合,この制限を超えて共用メモリを確保できないことがあります。この場合,次に示すどれかの処置をしてください。
    ・共用メモリサイズがSHMMAXの指定値に収まるようにグローバルバッファ面数を小さくし,共用メモリセグメント数を削減する。
    ・共用メモリサイズがSHMMAXの指定値に収まるように不要なグローバルバッファを削除し,共用メモリセグメント数を削減する。
    ・SHMMAXの指定値を大きくし,共用メモリセグメント数を削減する。
    ・shmmni及びshmsegの値を大きくする。
 
shmmax,shmmni,shmsegについては,OSのマニュアルを参照してください。
《ほかのオペランドとの関連》
このオペランドは次に示すオペランドと関連があります。
  • pd_dbbuff_modify
  • pdbuffer
  • pd_max_add_dbbuff_no
  • pd_max_add_dbbuff_shm_no
  • pd_sysdef_default_option(32ビットモードでv6compatibleを指定している場合,このオペランドの省略値は6になります)