HugePagesの設定方法(Oracle Linux 5/Kernel 2.6.18の場合)
次に64bit版 Oracle Linux5(Kernel 2.6.18)におけるHugePagesの設定方法を紹介します。
1. memlock制限の設定
/etc/security/limits.confファイルを編集し、memlockパラメータを、物理メモリよりやや小さい程度に設定します。
* soft memlock 72000000
* hard memlock 72000000
※72000000Kbyte = 72Gbyteに設定した例。メモリ搭載容量によって変更します
2. Hugepages確保量の計算
共有メモリに確保される量をHugepagesのサイズとします。目安として、DBインスタンスのSGAサイズ+ASMインスタンスのSGAサイズ+余裕値で検討します。
3. Hugepagesの設定
2で計算したHugepagesのサイズをHugepagesの1ページあたりのサイズで割り、Hugepagesのページ数を計算します。Hugepagesの1ページあたりのサイズは以下で確認可能です。
# grep Hugepagesize /proc/meminfo
Hugepagesize: 2048 kB
上記例では、1ページあたり2MBであるため、Hugepagesの確保ページ数は、(2の結果)÷2M となります。次に、上記で求めた確保ページ数を/etc/sysctl.confのvm.nr_hugepagesに設定します。
vm.nr_hugepages = (Hugepagesのページ数)
上記設定後、サーバーを再起動すると、Hugepagesの設定が行われます。Hugepagesのメモリ確保量および使用量を確認するためには、以下コマンドを用います。
# grep HugePages /proc/meminfo
HugePages_Total: 26000 <--- Hugepagesの確保ページ数
HugePages_Free: 14463 <--- Hugepagesの空きページ数
HugePages_Rsvd: 752 <--- Hugepagesの割り当て済みページ数
この記事は参考になりましたか?
- オラクル・キュレーション by Oracle ACE連載記事一覧
- この記事の著者
-
矢木覚(ヤギサトル)
Oracle ACE SIerにおいて、Oracle Databaseの最新技術を用いた、企業システムの基幹システム設計/構築に携わる。大規模RACやOracle Exadataによるシステム設計・データベース統合等を行ってきた。その経験を基に、現在ではオラクルの技術を広めるエヴァ...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア