Hitachi

uCosminexus Application Runtime - Cosminexus Developer's Kit for Java 機能解説・リファレンス


4.11 JITコンパイル時のCヒープ確保量の上限値設定機能

JavaVMがサポートしているJust In Time方式でのコンパイル(JITコンパイル)では,コンパイル実行中にCヒープを使用します。処理数が多いメソッドや大量のメソッドに対してJITコンパイルを実行した場合,コンパイル処理のために確保されるCヒープのサイズも多大になり,Cヒープ不足が発生することがあります。この場合,JavaVMの強制終了やアプリケーションサーバの異常終了などのトラブルが発生して,システムが全面停止してしまうおそれがあります。

このような問題の発生を防止するために,JITコンパイルで使用するCヒープのサイズに上限値を設定できます。上限値を超えた場合は,JITコンパイルが中止され,以降のコンパイルはインタプリタ方式で実行されます。これによって,JavaVMの強制終了を防ぎ,システムの停止を抑止できます。

JITコンパイル時のCヒープ確保量の上限は,-XX:HitachiJITCompileMaxMemorySizeオプションで指定します。-XX:HitachiJITCompileMaxMemorySizeオプションの詳細は,「-XX:HitachiJITCompileMaxMemorySize(JITコンパイル時の確保メモリ上限値指定オプション)」を参照してください。