前回はこちら: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 件のコメント:
コメントを投稿