スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド(UNIX(R)用)
(1) HiRDB/シングルサーバが使用するメモリ
HiRDB/シングルサーバが使用するメモリについて説明します。
HiRDB/シングルサーバは次に示すメモリを使用します。
(a) メモリ所要量
HiRDB/シングルサーバが必要とするメモリ所要量を見積もってください。HiRDB/シングルサーバのメモリ所要量については,「16.1 HiRDB/シングルサーバのメモリ所要量の見積もり」を参照してください。
(b) 共用メモリの割り当て先
HiRDBでは,共用メモリを次の場所に割り当てできます。
- OSのページングファイル(仮想メモリ)
- 運用ディレクトリ下のファイル(初期設定)
共用メモリの割り当て先は,ページングファイルにすることを推奨します。ページングファイルにする場合,仮想メモリを見積る必要がありますが,運用ディレクトリ下のファイルに割り当てる場合に比べて,NTFSのキャッシュフラッシュによる影響を受けにくくなります。
共用メモリの割り当て先は,pdntenvコマンドの-shmfileオプションで設定できます。pdntenvコマンドについては,マニュアル「HiRDB Version 9 コマンドリファレンス」を参照してください。
HiRDBでは,次に示す共用メモリを実メモリ上に固定できます。
- ユニットコントローラ用共用メモリ
- グローバルバッファ用共用メモリ
- 動的変更したグローバルバッファが使用する共用メモリ
- インメモリデータバッファ用共用メモリ
共用メモリを実メモリ上に固定すると,ページの入出力が少なくなるため,性能が安定します。
- 前提条件
- 共用メモリのページ固定をするための,OSごとの前提条件を次に示します。
OS |
前提条件 |
HP-UX |
なし。 |
Solaris |
なし。 |
AIX |
64ビットモードであること。 |
Linux |
なし。 |
- 動作環境の設定
- AIXの場合,オペレーティングシステムパラメタの設定が必要となります。オペレーティングシステムパラメタの設定については,「21.3(1) AIX固有のパラメタ指定」を参照してください。
- ページ固定の方法
- 共用メモリのページ固定の方法について,共用メモリの種別ごとに説明します。
- ユニットコントローラ用共用メモリ
システム共通定義,又はユニット制御情報定義のpd_shmpool_attributeオペランドにfixedを指定します。
- グローバルバッファ用共用メモリ
システム共通定義,又はユニット制御情報定義のpd_dbbuff_attributeオペランドにfixedを指定します。
- 動的変更したグローバルバッファが使用する共用メモリ
システム共通定義,又はユニット制御情報定義のpd_dbbuff_attributeオペランドにfixedを指定します。これによって,pdbufmodコマンドを実行して動的変更したグローバルバッファが使用する共用メモリも実メモリ上に固定されます。
- インメモリデータバッファ用共用メモリ
pdmemdbコマンドの-pオプションにfixedを指定します。
- 注意
- 実メモリ上に連続した領域が確保できなかった場合,共用メモリのページ固定ができません。ページ固定に失敗した場合のHiRDBの動作を次に示します。
OS |
ページ固定に失敗した場合のHiRDBの動作 |
ユニットコントローラ用 |
グローバルバッファ用 |
動的変更したグローバルバッファ用 |
インメモリデータバッファ用 |
HP-UX |
○ |
× |
× |
× |
Solaris |
○ |
× |
× |
× |
AIX |
○※ |
○※ |
○※ |
○※ |
Linux |
○ |
× |
× |
× |
- (凡例)
- ○:ページ固定をしないで共用メモリを確保し,処理を続行します。
- ×:HiRDB,又はコマンドが異常終了します。
- 注※
- AIXの場合,ページ固定に失敗したときでもシステムコールは正常終了します。そのため,HiRDBからはページ固定に失敗したことが分かりません。ページ固定ができているかどうかは,次の手順で確認してください。
- 1. HiRDB稼働中にpdls -d memコマンドを実行し,次の共用メモリセグメントの識別子を確認します。
- ・ユニットコントローラ用共用メモリの場合は,SHM-OWNERにMANAGERと表示されている共用メモリセグメント
- ・上記以外の共用メモリの場合は,SHM-OWNERにユニット名を()で囲んだ文字列,又はHiRDBサーバ名が表示されている共用メモリセグメント
- 2. OSのipcs -sコマンドを実行して,1.で確認した共用メモリセグメントの識別子を持つ共用メモリのSID値を確認します。
- 3. 2.で確認したSID値に対してOSのsvmonコマンドを実行して,該当する共用メモリの実メモリページ数と固定されているページ数が一致するかどうかを確認します。
入出力装置(MTドライブなど)の配置の制約などによって,HiRDB/シングルサーバが稼働するサーバマシンに,ユティリティで使用する入出力装置を設置できない場合があります。この場合,別のサーバマシンにユティリティで使用する入出力装置を設置し,HiRDB/シングルサーバが稼働するサーバマシンとLANを接続すると,その入出力装置を利用できます。このように,ユティリティで使用する入出力装置だけを設置するサーバマシンをユティリティ専用ユニットといいます。
ユティリティ専用ユニットは,次に示すユティリティを実行するときに使用します。
- データベース作成ユティリティ(pdload)
- データベース再編成ユティリティ(pdrorg)
- ディクショナリ搬出入ユティリティ(pdexp)
- データベース複写ユティリティ(pdcopy)
- データベース回復ユティリティ(pdrstr)
ユティリティを実行するときのユティリティ専用ユニットの使用方法については,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。
HiRDB/シングルサーバが稼働するサーバマシンに入出力装置を設置できない場合は,ユティリティ専用ユニットの設置を検討してください。
なお,ユティリティ専用ユニットは,複数のHiRDB/シングルサーバで共用できます。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.