7.7.1 -XX:CodeCacheInfoPrintRatio
コードキャッシュ領域の使用量がしきい値に達したことを知らせるメッセージを出力する契機となる、コードキャッシュ領域の使用率を指定します。
説明
コードキャッシュ領域の使用量がしきい値に達したことを知らせるメッセージを出力する契機となる、コードキャッシュ領域の使用率を指定します。
ここで指定した使用率を基に、次の計算式でしきい値が計算されます。
コードキャッシュ領域の最大サイズ×-XX:CodeCacheInfoPrintRatioオプションの値÷100
コードキャッシュ領域は、JITコンパイルによって生成されたJITコンパイルコードが格納される領域です。JavaVMは、呼び出し回数やループ回数が多いJavaメソッドをJITコンパイルして実行することで、処理の高速化を行います。
コードキャッシュ領域の最大サイズは、ReservedCodeCacheSizeオプションに指定します。ReservedCodeCacheSizeオプションには、デフォルト値以上の値を指定してください。
また、コードキャッシュ領域が枯渇していた場合、または枯渇するおそれがある場合は、コードキャッシュ領域の拡張を検討してください。JITコンパイルコードのサイズは計算で見積もることができません。そのため、Javaアプリケーション実行環境でコードキャッシュ領域の使用量を実測し、システムが使用するコードキャッシュ領域(32ビット版で最大500キロバイト、64ビット版で最大2メガバイト)の使用量を考慮した上で、コードキャッシュ領域の最大サイズを見積もってください。
- 前提オプション
-
-
-XX:+PrintCodeCacheInfo
-
書式
-XX:CodeCacheInfoPrintRatio=整数値
指定できる値
- 整数値
-
型:Integer
0〜100の範囲で整数値(単位:%)を指定します。範囲外の値が指定された場合は80が設定されます。
デフォルト値
- 定義項目の省略
-
-XX:CodeCacheInfoPrintRatio=80
注意事項
-
コードキャッシュ領域の使用量がしきい値に達した状態で推移している場合、JavaメソッドがJITコンパイルされてもメッセージは出力されません。
一方、コードキャッシュ領域の使用量がしきい値未満まで下がったあと、JavaメソッドがJITコンパイルされたことによって再びコードキャッシュ領域の使用量がしきい値に達した場合には、メッセージが出力されます。
-
システムが使用するコードキャッシュ領域は32ビット版で最大500キロバイト、64ビット版で最大2メガバイトです。そのため、システムのコードキャッシュ領域の使用量によっては、コードキャッシュ領域を最大サイズまで使用していない場合でも、コードキャッシュ領域が枯渇することがあります。
また、コードキャッシュ領域の使用量のしきい値に大きな値を指定している場合、メッセージを出力する前にコードキャッシュ領域が枯渇する場合があります。コードキャッシュ領域が枯渇する前にメッセージを出力したいときは、「コードキャッシュ領域の最大サイズ−しきい値」の値が4メガバイト以上になるように、-XX:CodeCacheInfoPrintRatio(コードキャッシュ領域使用率指定オプション)の値を指定してください。