7.4.5 create-jvm-optionsサブコマンドを使用してJavaVMオプションを変更する
JavaVMオプションは、サーバインスタンスと、ドメイン管理サーバに対して指定できます。すでに指定されているJavaVMオプションを変更するには、asadminユーティリティーコマンドのdelete-jvm-optionsサブコマンドで削除してから、create-jvm-optionsサブコマンドで変更後のJavaVMオプションを指定します。
前提条件
-
ドメイン管理サーバが起動している
-
Application Server for Developersのセットアップが完了している
想定ユーザー
-
システム構築者
操作手順
-
asadminユーティリティーコマンドのlist-jvm-optionsサブコマンドを実行して、すべてのサーバインスタンスのオプションの一覧を表示します。
asadmin list-jvm-options --target サーバインスタンス名
-
手順1で表示した一覧に変更するオプションがある場合は、asadminユーティリティーコマンドのdelete-jvm-optionsサブコマンドを実行して、変更するオプションを削除します。
asadmin delete-jvm-options --target サーバインスタンス名 [オプション名[=オプションの値][:オプション名[=オプションの値]]...]
-
オプションを複数指定する場合は、コロン(:)で区切って指定します。
- 重要
-
オプション入力時、記号に対するエスケープ処理が必要になります。
例えば、-XX:MaxMetaspaceSize=192mを指定する場合は、:に対して\を付けてエスケープ処理し、-XX\:MaxMetaspaceSize=192mと入力します。
コマンドの実行結果を次に示します。
Deleted n option(s) Command delete-jvm-options executed successfully.
nには、指定したオプションの数に応じて数字が埋め込まれます。
-
-
asadminユーティリティーコマンドのcreate-jvm-optionsサブコマンドを実行して、すべてのサーバインスタンスに対して、オプションでJavaヒープなどのJavaメモリーの値を設定します。
asadmin create-jvm-options --target サーバインスタンス名 [オプション名[=オプションの値][:オプション名[=オプションの値]]...]
-
オプションには、JavaVMのデフォルト値と、Application Server for Developersの初期値とが異なるものがあります。サーバインスタンスでJavaVMのデフォルト値と初期値が異なるオプションを次に示します。
表7‒1 サーバインスタンスでJavaVMのデフォルト値と初期値が異なるオプション オプション名
Application Server for Developersの初期値
-XX:HitachiExplicitHeapMaxSize
- Windows x86の場合
-
オプションのデフォルト値と同じです。
- Windows x64の場合
-
-XX:HitachiExplicitHeapMaxSize=512m
-XX:[+|-]HitachiUseExplicitMemory
オプションのデフォルト値と同じです。
-XX:MaxMetaspaceSize
- Windows x86の場合
-
-XX:MaxMetaspaceSize=128m
- Windows x64の場合
-
-XX:MaxMetaspaceSize=256m
-XX:MetaspaceSize
- Windows x86の場合
-
-XX:MetaspaceSize=128m
- Windows x64の場合
-
-XX:MetaspaceSize=256m
-Xms
- Windows x86の場合
-
-Xms128m
- Windows x64の場合
-
-Xms128m
-Xmx
- Windows x86の場合
-
-Xmx512m
- Windows x64の場合
-
-Xmx1024m
- 重要
-
-
すでに指定されているオプションを変更する場合は、delete-jvm-optionsサブコマンドで変更するオプションを削除してください。削除しないまま、create-jvm-optionsサブコマンドでオプションを指定した場合は、警告が表示され、同じオプションが複数登録されます。警告が表示された場合は、list-jvm-optionsサブコマンドで指定されているオプションを確認し、不要なオプションを削除してください。
-
ドメイン管理サーバは1時間ごと、サーバインスタンスは24時間ごとにSystemGCを実行します。SystemGCの実行間隔は、sun.rmi.dgc.server.gcIntervalと、sun.rmi.dgc.client.gcIntervalで変更できます。これらのシステムプロパティーでFullGCの発生間隔を広げてもGC発生回数が削減されない場合、Javaヒープが不足していることがあります。この場合は、Javaヒープのチューニングを実施することで改善することがあります。
-
コマンドの実行結果を次に示します。
Created n option(s) Command create-jvm-options executed successfully.
nには、指定したオプションの数に応じて数字が埋め込まれます。
-
-
asadminユーティリティーコマンドのlist-jvm-optionsサブコマンドを実行して、すべてのサーバインスタンスのオプションの一覧を表示します。
asadmin list-jvm-options --target サーバインスタンス名
手順3で指定したオプションの値が変更されていることを確認してください。
-
asadminユーティリティーコマンドのlist-jvm-optionsサブコマンドを実行して、ドメイン管理サーバのオプションの一覧を表示します。
asadmin list-jvm-options
-
手順5で表示した一覧に変更するオプションがある場合は、asadminユーティリティーコマンドのdelete-jvm-optionsサブコマンドを実行して、変更するオプションを削除します。
asadmin delete-jvm-options [オプション名[=オプションの値] [:オプション名[=オプションの値]]...]
コマンドの実行結果を次に示します。
Deleted n option(s) Command delete-jvm-options executed successfully.
nには、指定したオプションの数に応じて数字が埋め込まれます。
-
asadminユーティリティーコマンドのcreate-jvm-optionsサブコマンドを実行して、ドメイン管理サーバに対して、オプションでJavaヒープなどのJavaメモリーの値を設定します。
asadmin create-jvm-options [オプション名[=オプションの値] [:オプション名[=オプションの値]]...]
オプション名[=オプションの値]には、オプションとして、-Xms1024m、-Xmx1024m などを設定します。
オプションには、JavaVMのデフォルト値と、Java EE Serverの初期値とが異なるものがあります。ドメイン管理サーバでJavaVMのデフォルト値と初期値が異なるオプションを次に示します。
表7‒2 ドメイン管理サーバでJavaVMのデフォルト値と初期値が異なるオプション オプション名
Java EE Serverの初期値
-XX:MaxMetaspaceSize
-XX:MaxMetaspaceSize=192m
-XX:MetaspaceSize
-XX:MetaspaceSize=192m
-Xms
-Xms512m
-Xmx
-Xmx512m
- 重要
-
ドメイン管理サーバのJavaヒープサイズは、デプロイするアプリケーションのアーカイブのサイズに応じて調整してください。アプリケーションのアーカイブのサイズによっては、ドメイン管理サーバのJavaヒープサイズが枯渇し、メモリー不足となることがあります。
また、ドメイン管理サーバのJavaヒープサイズに不適切な値(極端に小さい値や大きい値など)を指定した場合、ドメイン管理サーバが起動しなくなり、ドメインの再構築が必要になることがあります。
このような事態を避けるために、ドメイン管理サーバのオプションを変更する場合は、あらかじめ、backup-domainコマンドを実行して、ドメインのバックアップを取得しておくことをお勧めします。
コマンドの実行結果を次に示します。
Created n option(s) Command create-jvm-options executed successfully.
nには、指定したオプションの数に応じて数字が埋め込まれます。
-
asadminユーティリティーコマンドのlist-jvm-optionsサブコマンドを実行して、ドメイン管理サーバのオプションの一覧を表示します。
asadmin list-jvm-options
手順7で指定したオプションの値が変更されていることを確認してください。
-
サーバインスタンス、およびドメイン管理サーバに対して、Javaメモリー以外のオプションを指定する場合は、手順1から手順8までを繰り返します。
オプションには、JavaVMのデフォルト値と、Java EE Serverの初期値とが異なるものがあります。JavaVMのデフォルト値と初期値が異なるオプションを次に示します。
表7‒3 JavaVMのデフォルト値と初期値が異なるオプション 分類
オプション名
Java EE Serverの初期値
サーバインスタンスの場合
-XX:HitachiExplicitMemoryJavaLog
-XX:HitachiExplicitMemoryJavaLog:Java EE Serverのインストールディレクトリー\logs\nodes\ノード名\サーバインスタンス名\je_eheap_event
-XX:HitachiExplicitMemoryLogLevel
-XX:HitachiExplicitMemoryLogLevel:normal
-XX:HitachiJavaLog
-XX:HitachiJavaLog:Java EE Serverのインストールディレクトリー\logs\nodes\ノード名\サーバインスタンス名\je_javavm
-XX:[+|-]HitachiOutOfMemoryCause
-XX:+HitachiOutOfMemoryCause
-XX:[+|-]HitachiOutOfMemorySize
-XX:+HitachiOutOfMemorySize
-XX:[+|-]HitachiTrueTypeInLocals
-XX:+HitachiTrueTypeInLocals
-XX:[+|-]UseCompressedOops
-XX:+UseCompressedOops
-Xhras(指定なし)
-Xhras
ドメイン管理サーバの場合
-XX:HitachiJavaLog
-XX:HitachiJavaLog:Java EE Serverのインストールディレクトリー\logs\domains\ドメイン名\das_javavm
-XX:[+|-]HitachiOutOfMemoryCause
-XX:+HitachiOutOfMemoryCause
-XX:[+|-]HitachiOutOfMemorySize
-XX:+HitachiOutOfMemorySize
-XX:[+|-]HitachiTrueTypeInLocals
-XX:+HitachiTrueTypeInLocals
-XX:[+|-]UseCompressedOops
-XX:+UseCompressedOops
-Xhras(指定なし)
-Xhras