2011年11月11日金曜日

HugePagesとその設定_5

前回はこちら:HugePagesとその設定_4

ベースはOracle® Database管理者リファレンス
11g リリース2(11.2)for Linux and UNIX-Based Operating Systems
の手順に沿っています。

前回はHugePagesを設定できたはずなのに、なんかオカシイ気がする・・・
ということろで終わりました。

今回は原因を調べてみます。

といっても、彼のOracle社が誤った情報を流したり、
手順が抜けてたりする筈がないんです!!
きっと小生が悪いに違いないんです!!

マニュアルを読み直します。(本当に昔に比べて質が高くなった。)

・・・・

あれ?関係ないと思って読み飛ばした上の方を呼んでみると・・・

G.1.4 Oracle DatabaseのVery Large Memoryの構成
/etc/security/limits.confファイルを編集し、次のエントリを追加して、メモリー・ロックの上限値を大きくします。
soft memlock 3145728
hard memlock 3145728

メモリ・ロック。。。なんか関係ありそう。。


5.メモリー・ロックの上限値を大きくする。
 memlockの値は物理メモリ以下でSGAやHugePagesのサイズより大きいサイズがいいよな。
 /etc/security/limits.confファイルを編集し、次のエントリを追加して、
 メモリー・ロックの上限値を設定または編集します。(単位はKB)
 今回は15GBを設定。

oracle soft memlock 15728640
oracle hard memlock 15728640

もちろん、設定したら一度sudoし直します。
$ exit
# su - oracle
$ ulimit -l
15728640

よし!!

6.インスタンスの起動
SQL> startup
ORACLEインスタンスが起動しました。

Total System Global Area 1.0689E+10 bytes
Fixed Size 2235904 bytes
Variable Size 2650800640 bytes
Database Buffers 8019509248 bytes
Redo Buffers 16928768 bytes
データベースがマウントされました。
データベースがオープンされました。

7.HugePagesの使用状況を確認します。
cat /proc/meminfo |grep Huge
HugePages_Total: 5123
HugePages_Free: 4673
HugePages_Rsvd: 4671
Hugepagesize: 2048 kB

YES!!きたきたきたきた!!!

# free -m
(DB起動前)
total used free shared buffers cached
Mem:24109 12048 12061    0 294 1079

(DB起動後)
   total used free shared buffers cached
Mem:24109 12127 11982   0 294 1079

数十MBしか変化なし!
HugePagesを使うのはSGAだけだったはず。
正常な動作っぽいぞ。



・・・・でも、この値は何を意味しているのだろう。。
HugePages_Total: 5123
HugePages_Free: 4673
HugePages_Rsvd: 4671

HugePages_Total-HugePages_Free=5123-4679=444ページ=使用済みHugePage?
使用済みhugepaeメモリ=444*2MB=888MB
SGA_MAX_SIZEは10GBなのに???

HugePages_Rsvd: 4677 は何????



HugePagesとその設定_6に続く。。。

0 件のコメント:

コメントを投稿