19.1.1 AIXのオペレーティングシステムパラメタの指定方法
ここでは,AIXのオペレーティングシステムパラメタ(カーネルパラメタ)の見積もりについて説明します。オペレーティングシステムパラメタの値が小さいと,HiRDBが正しく動作しないことがあります。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のマニュアルを参照してください。