HiRDB/シングルサーバが使用するメモリについて説明します。
HiRDB/シングルサーバは次に示すメモリを使用します。
(a) メモリ所要量
HiRDB/シングルサーバが必要とするメモリ所要量を見積もってください。HiRDB/シングルサーバのメモリ所要量については,「15.1 HiRDB/シングルサーバのメモリ所要量の見積もり」を参照してください。
(b) 共用メモリの割り当て先
HiRDBでは,共用メモリを次の場所に割り当てできます。
- OSのページングファイル(仮想メモリ)
- 運用ディレクトリ下のファイル(初期設定)
共用メモリの割り当て先は,ページングファイルにすることを推奨します。ページングファイルにする場合,仮想メモリを見積る必要がありますが,運用ディレクトリ下のファイルに割り当てる場合に比べて,NTFSのキャッシュフラッシュによる影響を受けにくくなります。
共用メモリの割り当て先は,pdntenvコマンドの-shmfileオプションで設定できます。pdntenvコマンドについては,マニュアル「HiRDB Version 9 コマンドリファレンス」を参照してください。
HiRDBでは,次に示す共用メモリを実メモリ上に固定できます。
- ユニットコントローラ用共用メモリ
- グローバルバッファ用共用メモリ
- 動的変更したグローバルバッファが使用する共用メモリ
- インメモリデータバッファ用共用メモリ
共用メモリを実メモリ上に固定すると,ページの入出力が少なくなるため,性能が安定します。
- 前提条件
- 共用メモリのページ固定をするための前提条件を次に示します。
- Windowsのバージョン
- Windowsでは,Windows Server 2003 Service Pack 1以降でサポートされているLarge Pageの機能を使用してページ固定をします。そのため,Large PageがサポートされているバージョンのWindowsであることが前提となります。Windowsがページ固定に対応しているかどうかは,pdntenv -osコマンドコマンドで確認してください。
- ページロックの権限
- 共用メモリのページ固定をする場合,メモリ内のページをロックできる権限が必要です。サービス実行時に使用するログオンのアカウントによって,この権限の有無が異なります。権限の設定方法を次に示します。
サービス実行時に使用するログオンのアカウント |
権限の設定方法 |
HiRDB管理者 |
HiRDB管理者を,OSの[ローカル セキュリティ設定]−[ローカル ポリシー]−[ユーザー権利の割り当て]で,「メモリ内のページのロック」に設定してください。 |
ローカルシステムアカウント |
ローカルシステムアカウントにはメモリ内のページをロックできる権限があります。そのため,権限の設定は必要ありません。 |
- 動作環境の設定
- 共用メモリのページ固定をするには,共用メモリの割り当て先の指定が必要です。pdntenvコマンドの-shmfileオプションでpageを指定し,共用メモリの割り当て先をページングファイル(仮想メモリ)に設定してください。
- ページ固定の方法
- 共用メモリのページ固定の方法について,共用メモリの種別ごとに説明します。
- ユニットコントローラ用共用メモリ
システム共通定義,又はユニット制御情報定義のpd_shmpool_attributeオペランドにfixedを指定します。
- グローバルバッファ用共用メモリ
システム共通定義,又はユニット制御情報定義のpd_dbbuff_attributeオペランドにfixedを指定します。
- 動的変更したグローバルバッファが使用する共用メモリ
システム共通定義,又はユニット制御情報定義のpd_dbbuff_attributeオペランドにfixedを指定します。これによって,pdbufmodコマンドを実行して動的変更したグローバルバッファが使用する共用メモリも実メモリ上に固定されます。
- インメモリデータバッファ用共用メモリ
pdmemdbコマンドの-pオプションにfixedを指定します。
- 注意
- 実メモリ上に連続した領域が確保できなかった場合,共用メモリのページ固定ができません。ページ固定に失敗した場合のHiRDBの動作を次に示します。
- ユニットコントローラ用,又はグローバルバッファ用共用メモリの場合
- ページ固定をしないで共用メモリを確保し処理を続行します。
- 動的変更したグローバルバッファが使用する共用メモリ,又はインメモリデータバッファ用共用メモリの場合
- HiRDB,又はコマンドが異常終了します。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.