この記事でHugePageを設定するメリットについて解説します。
HugePageとは
HugePageとは文字通り巨大なページで、メモリ管理を行う「ページ」を巨大化する機能です。
Linux OSでは仮想メモリと物理メモリのマッピングにページテーブルというものを使用します。
このマッピングを行うメモリサイズの単位が「ページサイズ」になります。
このページサイズがデフォルトだと4KBに設定されていますが、昨今のメモリの大容量化に伴い見合わない設定になっています。
HugePageを設定すると2GBといった大きなサイズでメモリを管理することができます。
HugePageを設定するメリット
HugePageを設定することによるメリットは以下の3つがあります。
・ページヒット率の向上
メモリの管理単位が大きくなることによって、メモリのマッピング情報の数が減ります。
それによってマッピング情報へのキャッシュヒット率が向上します。
・ページ数の削減
ページ数が減ることによってページテーブルに使うメモリの削減につながります。
・HugePage上に配置した領域はスワップされない
時間のかかるスワップ処理を回避することができます。
HugePageを設定するデメリット
Oracle Databaseには自動メモリ管理機能がありますが、HugePageを使用すると利用できなくなります。
HugePageを使用する際はSGAとPGAのサイズを決めて、自動共有メモリ管理(ASSM)と自動PGAメモリ管理を利用することをお勧めします。