JavaVMは,呼び出し回数やループ回数が多いJavaメソッドをJITコンパイルして実行することで,処理の高速化を行います。JITコンパイルによって生成されたJITコンパイルコードは,コードキャッシュ領域に配置されます。
通常,コードキャッシュ領域のサイズはデフォルト値で問題ありません。しかし,実行環境やJavaアプリケーションの規模によっては,コードキャッシュ領域のサイズがデフォルト値では枯渇する場合があります。
コードキャッシュ領域が枯渇すると,JavaVMはJITコンパイルを実行できなくなり,Javaアプリケーションの実行で十分な性能が得られないおそれがあります。この場合は,「-XX:[+|-]PrintCodeCacheInfo(コードキャッシュ領域情報出力オプション)」や「-XX:[+|-]PrintCodeCacheFullMessage(コードキャッシュ領域枯渇メッセージ出力オプション)」を有効にして,コードキャッシュ領域の使用量や出力されるメッセージを監視するようにしてください。
これらのオプションについては,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「-XX:[+|-]PrintCodeCacheInfo(コードキャッシュ領域情報出力オプション)」および「-XX:[+|-]PrintCodeCacheFullMessage(コードキャッシュ領域枯渇メッセージ出力オプション)」を参照してください。
コードキャッシュ領域の使用量がしきい値に達したことを知らせるメッセージの出力形式を次に示します。
[cc_id]<cc_date>CodeCache usage has exceeded the threshold.[cc_used_sizeK, cc_max_sizeK, cc_infoK] |
出力項目について次に示します。
出力項目 | 説明 |
---|---|
cc_id | CCI(JavaVMログファイル識別子)が出力されます。 |
cc_date | JITコンパイルを実行した日時が出力されます。 |
cc_used_size | JITコンパイル後のコードキャッシュ領域の使用サイズが出力されます(単位:キロバイト)。 |
cc_max_size | コードキャッシュ領域の最大サイズが出力されます(単位:キロバイト)。 |
cc_info | 保守情報が出力されます。 |
コードキャッシュ領域が枯渇したことを知らせるメッセージの出力形式を次に示します。
[cc_id]<cc_date>CodeCache is full. Compiler has been disabled.[cc_used_sizeK, cc_max_sizeK, cc_infoK] |
出力項目について次に示します。
出力項目 | 説明 |
---|---|
cc_id | CCI(JavaVMログファイル識別子)が出力されます。 |
cc_date | JavaメソッドがJITコンパイルの対象になった日時が出力されます。 |
cc_used_size | JavaメソッドがJITコンパイルの対象になったときのコードキャッシュ領域の使用サイズが出力されます(単位:キロバイト)。 |
cc_max_size | コードキャッシュ領域の最大サイズが出力されます(単位:キロバイト)。 |
cc_info | 保守情報が出力されます。 |