Webコンテナ(WebOTXドメイン)が動作するJava VMが異常終了する場合の原因の一つと して、HotSpotコンパイルの問題があります。
ここでは、HotSpotコンパイルの問題の確認と対処について説明します。
Java VMのオプションに-XX:+PrintCompilationを追加して起動し、ログを採取します。Java VMオ プションは、otxadminコマンドを使用して次のコマンドを実行します。
otxadmin> create-jvm-options --user <ユーザ名> --password <パスワード> --host <ホスト名> --port <管理ポート> -XX\\:+PrintCompilation
Windowsの場合には、次のJava VMオプションも追加します。
otxadmin> create-jvm-options --user <ユーザ名> --password <パスワード> --host <ホスト名> --port <管理ポート> -Xrunwojconsole
オプションを追加したらドメインを停止します。
ドメインを起動後、アプリケーションを実行して、現象を再現させます。現象が再現した時点 で、${INSTANCE_ROOT}/logs/server.log(Windowsの 場合、${INSTANCE_ROOT}\logs\jvm_stdout.log)に出力されている最後の メソッド名がHotSpotコンパイルでエラーになっているメソッドです。次の対処方法に従って、 対処してください。対処後には、HotSpotコンパイルのログが出力されるままになりますので、 追加したオプションは元に戻してください。
HotSpotコンパイル中に、他の原因によりJava VMが終了した場合には、上記の対処を 行っても改善しないことがあります。hs_err_pidxxx.logファイルや、コアダンプで原因を調査する 必要があります。開発元へお問い合わせください。
該当メソッドをHotSpotコンパイルの対象外にするために、“.hotspot_compiler”ファイルを 作成します。“.hotspot_compiler”ファイルには、対象となるメソッドを記述します。記述例を 次に示します。
com/test/testapのtestMethodのコンパイルが異常終了の引き金になっている場合
exclude com/test/testap testMethod
${INSTANCE_ROOT}/configに“.hotspot_compiler”ファイルを 格納してください。
次のJava VMオプションを追加します。
otxadmin> create-jvm-options --user <ユーザ名> --password <パスワード> --host <ホスト名> --port <管理ポート> -XX:CompileCommandFile=${INSTANCE_ROOT}/config/.hotspot_compiler