4.3. ラージページの有効化

JBoss EAP JVM のラージページを有効にすると、ページがメモリーでロックされ、通常のメモリーのようにディスクへのスワップ処理を行うことができません。

特にメモリー集中型のアプリケーションでは、ヒープをディスクへページまたはスワップできず、常にラージページを利用できることがラージページを使用する場合の利点となります。

ラージページを使用する場合の難点の 1 つは、システムで実行されている別のプロセスがメモリーに即時アクセスできない可能性があり、これらのプロセスに対して過剰なページングが行われる可能性があることです。

他のパフォーマンス設定の変更と同様に、テスト環境で変更の影響をテストすることが推奨されます。

  1. プロセスがラージページを使用できるようにオペレーティングシステムが設定されている必要があります。

    • Red Hat Enterprise Linux システムでは、HugeTLB ページを明示的に設定して、確実に JBoss EAP のプロセスがラージページにアクセスできるようにする必要があります。

      Red Hat Enterprise Linux のメモリーオプションの設定に関する詳細は、Red Hat Enterprise Linuxパフォーマンスチューニングガイドメモリーの章を参照してください。

    • Windows サーバーシステムでは、JBoss EAP を実行しているユーザーにラージページの特権が割り当てられている必要があります。

      1. コントロールパネル管理ツールローカルセキュリティーポリシー と選択します。
      2. ローカルポリシーユーザー権利の割り当て と選択します。
      3. メモリー内のページのロック をダブルクリックします。
      4. ラージページを使用する Windows Server ユーザーおよびユーザーグループを追加します。
      5. マシンを再起動します。
  2. ラージページのサポートを有効または無効にします。

    • 明示的に JBoss EAP JVM のラージページのサポートを有効にするには、以下の JVM オプションを使用します。

      -XX:+UseLargePages
    • 明示的に JBoss EAP JVM のラージページのサポートを無効にするには、以下の JVM オプションを使用します。

      -XX:-UseLargePages
  3. 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 のドキュメント を参照してください。