-XX:HitachiJITCompileMaxMemorySize(JITコンパイル時の確保メモリ上限値指定オプション)

形式

-XX:HitachiJITCompileMaxMemorySize=<整数値>

説明

JITコンパイル時に確保するメモリが,<整数値>で指定した上限値を超えた場合に,日立JavaVMログファイルにログを出力するとともに,JITコンパイルを抑制します。
JITコンパイル処理の対象となっていたJavaメソッドは,以後,インタプリタでのみ実行されるようになります。
JITコンパイルが抑制された場合でも,JavaVMは強制終了せず,処理を続行します。
<整数値>に0を指定した場合は,JITコンパイル時に確保するメモリは上限値で制限されません。
なお,JITコンパイルはJavaVMの内部スレッド(JITコンパイラスレッド)で実行されます。JITコンパイラスレッドは2つ存在しており,このオプションで指定した上限値をJITコンパイラスレッドの個数2で割った値が,ひとつのJITコンパイラスレッドに対する上限値となります。
デフォルト値
  • -XX:HitachiJITCompileMaxMemorySize=0

引数

<整数値>
JITコンパイル時に確保するメモリの上限値を指定します。0~2147483647の範囲で整数値(単位:バイト)を指定します。範囲外の値が指定された場合は0が指定されます。
0を指定した場合は,JITコンパイル時に確保するメモリは上限値で制限されません。
負の値や整数値以外を指定した場合はエラーとなります。

出力形式

[<id>][Thread: <thread_id>]<<date>>["<thread_name>" exceeded max memory size.]
[<current_size>K-><new_size>K/<limit_size_per_thread>K/<limit_size>K]
[<compile_target>][<byte_code_size>]

出力内容を次に説明します。
id
JMS (日立JavaVMログファイル識別子)
thread_id
JITコンパイルを抑制したJITコンパイラスレッドのスレッドID。
date
JITコンパイルを抑制した日時。
-XX:+HitachiOutputMilliTimeオプションを指定するとミリ秒単位で出力します。
thread_name
JITコンパイルを抑制したJITコンパイラスレッドのスレッド名。
current_size
JITコンパイルを抑制したJITコンパイラスレッドの現在のメモリ確保サイズ(単位:キロバイト)。
new_size
JITコンパイルを抑制したJITコンパイラスレッドの現在のメモリ確保サイズと追加で確保しようとしたサイズの合計(単位:キロバイト)。
limit_size_per_thread
ひとつのJITコンパイラスレッドの上限値(単位:キロバイト)。
limit_size
JITコンパイラスレッド全体の上限値(単位:キロバイト)。
compile_target
JITコンパイル処理の対象となっていたJavaメソッド。
byte_code_size
JITコンパイル処理の対象となっていたJavaメソッドのバイトコードのサイズ(単位:バイト)。

注意事項