前回はこちら:Hugepagesとその設定_6
ベースはOracle® Database管理者リファレンス
11g リリース2(11.2)for Linux and UNIX-Based Operating Systemsの手順に沿っています。
今回で纏めの予定だったのですが、
ちょっと書き漏らしたので、諸々補足回とします。
1.USE LARGE_PAGES初期化パラメータ
上記マニュアルからはkernel 2.6以上がうんぬんと書いてありますが、
設定サイズ確認用スクリプト等諸々見ると2.4においても使用できるようです。
というのはおいといて、11.2.0.2.0以上では初期化パラメータによって
HugePagesの使用可否を設定できます。
11.2.0.2.0以上のリリースに存在するパラメータになります。
TRUE(デフォルト):Hugepagesが使用可能であれば使用する。
使用不可の場合は、通常のsmall Pageを使用して起動
FALSE:Hugepagesを使用しない
ONLY:Hugepagesを使用して起動する。
使用不可の場合は、エラーを出力してインスタンスは起動しない。
11.2.0.2.0未満はどうか?という話ですが、
9.2.0.1.0以上でHugePagesが使用可能な状態であれば使用するようです。
出典:HugePages on Oracle Linux 64-bit [ID 361468.1]
2.HugePagesを使用状態の確認方法?
検証内では、HugePagesのFreeやRsvdが減ったから使ってるっぽいぜ?
と結構いい加減にやりましたが、以下の方法で確認できます。
■alertログを見る!
とてもシンプル・・・(>_<;)
A.HugePagesを使用してインスタンスが起動した場合の出力例
****************** Huge Pages Information *****************
Huge Pages memory pool detected (total: 5123 free: 5123)
DFLT Huge Pages allocation successful (allocated: 5121)
***********************************************************
やっぱり、Rsvdと同じ値5121ページしか獲得していないようですね。
B.HugePagesの獲得に失敗してインスタンスが起動した場合の出力例
※出力例はmemlockを設定していなかった場合の例
****************** Huge Pages Information *****************
Huge Pages memory pool detected (total: 5123 free: 5123)
Memlock limit too small: 32768 to accommodate segment size: 10739515392
Huge Pages allocation failed (free: 5123 required: 5121)
Allocation will continue with default/smaller page size
**********************************************************
とても分かりやすくて、優しさを感じる英語文ですね(笑)
ということで、次回こそ最終回。
> 11.2.0.2.0以前はどうか?という話ですが、
返信削除11.2.0.2未満はどうか?という話ではないでしょうか
> 9.2.0.1.0以降Hugegagesが使用可能な状態であれば使用するようです。
>
> 出典:HugePages on Oracle Linux 64-bit [ID 361468.1]
イマドキ知る価値あるのかなぁコレとか思ったり~ (⌒0⌒)
優しさを感じる和文にしてみました。(笑)
wmo6hashさん
返信削除コメントありがとうございます!
>11.2.0.2未満はどうか?という話ではないでしょうか
ご指摘ありがとうございます。修正しました。
>> 出典:HugePages on Oracle Linux 64-bit [ID 361468.1]
>イマドキ知る価値あるのかなぁコレとか思ったり~ (⌒0⌒)
>優しさを感じる和文にしてみました。(笑)
まぁ、11gまでを網羅した内容になっているので(笑)