9.13 JITコンパイル時のCヒープ確保量の上限値設定機能
JavaVMがサポートしているJust In Time方式でのコンパイル(JITコンパイル)では,コンパイル実行中にCヒープを使用します。処理数が多いメソッドや大量のメソッドに対してJITコンパイルを実行した場合,コンパイル処理のために確保されるCヒープのサイズも多大になり,Cヒープ不足が発生することがあります。この場合,JavaVMの強制終了やJ2EEサーバの異常終了などのトラブルが発生して,システムが全面停止してしまうおそれがあります。
このような問題の発生を防止するために,JITコンパイルで使用するCヒープのサイズに上限値を設定できます。上限値を超えた場合は,JITコンパイルが中止され,以降のコンパイルはインタプリタ方式で実行されます。これによって,JavaVMの強制終了を防ぎ,システムの停止を抑止できます。
JITコンパイル時のCヒープ確保量の上限は,-XX:HitachiJITCompileMaxMemorySizeオプションで指定します。-XX:HitachiJITCompileMaxMemorySizeオプションの詳細は,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「-XX:HitachiJITCompileMaxMemorySize(JITコンパイル時の確保メモリ上限値指定オプション)」を参照してください。