4.3. ラージページの有効化
JBoss EAP JVM のラージページを有効にすると、ページがメモリーでロックされ、通常のメモリーのようにディスクへのスワップ処理を行うことができません。
特にメモリー集中型のアプリケーションでは、ヒープをディスクへページまたはスワップできず、常にラージページを利用できることがラージページを使用する場合の利点となります。
ラージページを使用する場合の難点の 1 つは、システムで実行されている別のプロセスがメモリーに即時アクセスできない可能性があり、これらのプロセスに対して過剰なページングが行われる可能性があることです。
他のパフォーマンス設定の変更と同様に、テスト環境で変更の影響をテストすることが推奨されます。
プロセスがラージページを使用できるようにオペレーティングシステムが設定されている必要があります。
Red Hat Enterprise Linux システムでは、
HugeTLB
ページを明示的に設定して、確実に JBoss EAP のプロセスがラージページにアクセスできるようにする必要があります。Red Hat Enterprise Linux のメモリーオプションの設定に関する詳細は、Red Hat Enterprise Linuxパフォーマンスチューニングガイド のメモリーの章を参照してください。
Windows サーバーシステムでは、JBoss EAP を実行しているユーザーにラージページの特権が割り当てられている必要があります。
- コントロールパネル → 管理ツール → ローカルセキュリティーポリシー と選択します。
- ローカルポリシー → ユーザー権利の割り当て と選択します。
- メモリー内のページのロック をダブルクリックします。
- ラージページを使用する Windows Server ユーザーおよびユーザーグループを追加します。
- マシンを再起動します。
ラージページのサポートを有効または無効にします。
明示的に JBoss EAP JVM のラージページのサポートを有効にするには、以下の JVM オプションを使用します。
-XX:+UseLargePages
明示的に JBoss EAP JVM のラージページのサポートを無効にするには、以下の JVM オプションを使用します。
-XX:-UseLargePages
JBoss EAP の起動時に、メモリーの確保に関する警告がないことを確認してください。
Red Hat Enterprise Linux では、以下のようなエラーが表示されます。
OpenJDK 64-Bit Server VM warning: Failed to reserve shared memory. (error = 1)
Windows Server では、以下のようなエラーが表示されます。
Java HotSpot(TM) 64-Bit Server VM warning: JVM cannot use large page memory because it does not have enough privilege to lock pages in memory.
警告が表示された場合、オペレーティングシステムと JVM オプションが正しく設定されていることを確認してください。
詳細は、ラージページの Java サポートに関する Oracle のドキュメント を参照してください。