Hitachi

ノンストップデータベース HiRDB Version 10 システム導入・設計ガイド(UNIX(R)用)


19.2.1 AIXのオペレーティングシステムパラメタの指定方法

ここでは,AIXのオペレーティングシステムパラメタ(カーネルパラメタ)の見積もりについて説明します。オペレーティングシステムパラメタの値が小さいと,HiRDBが正しく動作しないことがあります。AIXのオペレーティングシステムパラメタの指定値の目安を次の表に示します。

表19‒2 AIXのオペレーティングシステムパラメタの指定値の目安

オペレーティングシステムパラメタ

指定値の目安

data_hard

パラメタの省略値が-1(unlimit)のため,特に必要がなければ変更しないでください。

stack_hard

パラメタの省略値で十分大きいため,特に必要がなければ変更しないでください。

nofiles

HiRDBが計算して設定するため,指定する必要はありません。

nofiles_hard

パラメタの省略値が-1(unlimit)のため,特に必要がなければ変更しないでください。

maxuproc

MAX(pd_max_server_processの値+e,512)以上を指定してください。

ただし,サーバマシン上で稼働するほかのプログラムが必要とする値の方が大きい場合は,その値を指定してください。

EXTSHM環境変数

32ビットモードのHiRDBの場合,ONを指定してください(ただし,1プロセスでアタッチする共用メモリセグメント数が11未満の場合は指定しないでください)。64ビットモードのHiRDBの場合,使用する機能によって設定値が変わります。

e:同時実行するコマンド(ユティリティを含む)の最大数

  • システムで同時にオープンできる最大ファイル数は,「maxuproc×nofiles×固定ライセンス数」で調整できます。

  • システムにログインするユーザの最大数は固定ライセンス数で調整できます。

  • システム全体で同時に実行するプロセスの総数の最大数は,「maxuproc×固定ライセンス数」で調整できます。

注意事項

TCPポートがTIME_WAIT状態となり,システム全体のTCPポートが不足し,トランザクションがエラーとなったり,HiRDBが異常終了したりすることがあります。このような現象が発生した場合,オペレーティングシステムパラメタの設定によって,ポート数不足の発生を回避してください。詳細については,「ポート数不足を回避する方法」を参照してください。

〈この項の構成〉

(1) AIX固有のパラメタ指定

(a) 環境変数の指定

AIXの場合,システム共通定義に,次に示す環境変数を指定する必要があります。なお,PSALLOC,NODISCLAIM,及びCORE_NOSHM環境変数は,システム共通定義への指定は不要です。

また,次に示す環境変数はHiRDBコマンド実行環境にも設定する必要があります。システム共通定義に設定した環境変数は,HiRDBコマンド実行環境の設定値を同じ値にしてください。環境変数の設定方法については,各シェルのマニュアルを参照してください。

  • EXTSHM

    32ビットモードのHiRDBの場合,プロセス空間の共用メモリ領域数の制限をなくすことを示す「ON」を設定します。

    64ビットモードのHiRDBの場合,共用メモリのページ固定機能を使用するときは,OSのページ固定機能を有効にするためputenv EXTSHM ONを指定しません(省略します)。また,64ビットモードのHiRDBサーバの場合で,32ビットモードのクライアントプロセスとの間でプロセス間メモリ通信機能を使用するときには,プロセス空間の共用メモリ領域数の制限をなくすことを示すONを指定します。

    アドレスモードと使用する機能の組み合わせに対するEXTSHM環境変数の指定形式を次に示します。

    HiRDBサーバのアドレスモード

    共用メモリのページ固定機能※1

    32ビットモードのクライアントプロセスとの間のプロセス間メモリ通信機能

    EXTSHM環境変数の指定形式

    32ビットモード

    ※2

    putenv EXTSHM ON※3

    ×

    64ビットモード

    ※4

    ×

    指定しません

    ×

    putenv EXTSHM ON

    ×

    ※5

(凡例)

○:使用時

×:未使用時

−:該当しません。

注※1

共用メモリのページ固定は,pd_shmpool_attributeオペランド又はpd_dbbuff_attributeオペランドにfixedを設定した場合に使用します。詳細は,マニュアル「HiRDB システム定義」の「pd_shmpool_attributeオペランド」又は「pd_dbbuff_attributeオペランド」を参照してください。

注※2

サポートしていません。

注※3

共用メモリの1セグメントのサイズが256メガバイト未満の場合は,プロセス停止時の共用メモリデタッチ処理で,OSが4キロバイト単位の共用メモリページ解放を行います。そのため,CPU使用率が上がり,系切り替えが発生することがあります。1プロセスでアタッチする共用メモリセグメント数(pdls -d memコマンドで確認できる共用メモリセグメント数)が11未満の場合は,EXTSHM=ONの指定をしないでください。

注※4

共用メモリのページ固定機能と32ビットモードのクライアントプロセスとの間のプロセス間メモリ通信機能を同時に使用できません。

注※5

指定不要です。

  • PSALLOC

    HiRDBコマンド実行環境に,メモリ確保時に必要なページスペースをすぐに確保することを示す「early」を設定します。同時にNODISCLAIMの指定も必要です。ただし,むだなページングスペースを生む可能性があります。

  • NODISCLAIM

    HiRDBコマンド実行環境に,free()に対するコールの処理方法として,nodisclaim()の発行抑止をする「true」を設定します。

  • LDR_CNTRL

    32ビットモードの場合,カーネルの従来の区分化より大きいデータエリアを扱うことができるようにするために指定します。「MAXDATA=0x40000000」を設定してください。64ビットモードの場合,指定不要です。

  • CORE_NOSHM

    HiRDBコマンド実行環境に,プロセス障害時に出力されるcoreファイルに,共用メモリ領域を含まないようにするために「""」を指定します。詳細は「coreファイルの出力情報の制限」を参照してください。

(b) /etc/security/limitsファイルの指定値の注意事項

rootユーザとHiRDB管理者は,次の指定値に注意してください。

  • data

    プロセスのヒープ領域がこの制限値を超えるとエラーになります。この制限値を指定する必要がない場合は,-1(unlimited)を指定してください。

  • fsize,fsize_hard

    ファイルサイズがこの制限値を超えるとエラーになります。この制限値を指定する必要がない場合は,-1(unlimited)を指定してください。

(c) 仮想メモリマネージャ(VMM)のチューニングパラメタの指定

特定の機能を使用する場合,次のパラメタを指定します。VMMパラメタはAIXのvmoコマンドで設定できます。vmoコマンドについてはAIXのマニュアルを参照してください。

  • v_pinshm

    共用メモリ・セグメントのページ固定を可能にするための指定です。HiRDBが使用する共用メモリをページ固定する場合,このパラメタに1を指定してください。HiRDBが使用する共用メモリをページ固定する方法は,マニュアル「HiRDB システム定義」の「pd_shmpool_attributeオペランド」又は「pd_dbbuff_attributeオペランド」を参照してください。

  • maxpin

    ページ固定する実メモリの最大パーセンテージを指定します。HiRDBが使用する共用メモリをページ固定する場合,ページ固定するHiRDBの共用メモリサイズを含む,マシン上でページ固定するすべてのメモリのサイズ合計値(OSがページ固定するメモリのサイズも含みます)を,このパラメタに指定したパーセンテージ内の実メモリサイズが上回るように,このパラメタを指定してください。HiRDBが使用する共用メモリをページ固定する方法は,マニュアル「HiRDB システム定義」の「pd_shmpool_attributeオペランド」又は「pd_dbbuff_attributeオペランド」を参照してください。

(d) coreファイルの出力情報の制限

プロセス障害時に出力されるcoreファイルに,共用メモリ領域を含まないように設定します。

  • 設定内容

    HiRDB管理者の環境変数(kシェルの場合)

    $ export CORE_NOSHM=

  • 前提条件

    • システム属性(sys0)のfullcoreパラメタがtrueの場合です。

  • 注意事項

    • この環境変数CORE_NOSHMが有効かどうかは,使用しているAIXのバージョンに依存します。この環境変数が利用できるかどうかは,OSのマニュアルを参照してください。

    • HiRDBはOSへの登録時(pdsetupコマンド実行時)に自動的にfullcoreをtrueに設定します。

      その後,OSコマンドなどによってfalseに再設定される場合があるため,現在のfullcoreパラメタがtrueであることを確認してください。

    • この環境変数CORE_NOSHMの設定を/etc/environmentへ記述しないでください。

(e) JFS/JFS2ファイルシステムへのI/O高負荷によるプログラムの沈み込みについての注意事項

JFS/JFS2ファイルシステムへ大量の出力要求を出すプログラム(pdcopyや大きなサイズのファイルに対するcompress,cp,ddコマンドなど)の実行によって,システムのディスク入出力の性能が飽和状態となって,同一システム上で動作するプログラムが数秒から数十秒沈み込む場合があります。

特に,システムの応答時間を監視するHAモニタやPowerHAによってクラスタシステム運用を行っている場合,系切り替え動作となる場合があります。

このような現象が発生した場合,次のパラメタの設定によって,プログラムの沈み込みの発生を回避してください。

  • maxpout

  • minpout

maxpout/minpoutパラメタの設定値の詳細については,OSのマニュアルを参照してください。

(f) 時刻補正の注意事項

NTPプログラムを用いて時刻補正を行う場合は,次の点に注意してください。

  • NTPの調整方式には,遅延調整方式(Slew方式)を選択して,一度に数十秒以上の大幅な時刻補正が発生しないようにしてください。

  • AIXの環境設定ファイル(/etc/environment)に「GETTOD_ADJ_MONOTONIC=1」を記述して,時刻が逆転しないようにしてください。

この環境変数GETTOD_ADJ_MONOTONICが有効かどうかは,使用しているAIXのバージョンに依存します。

この環境変数が利用できるかどうかは,OSのマニュアルを参照してください。