-XX:[+|-]PrintCodeCacheInfo(コードキャッシュ領域情報出力オプション)
形式
- -XX:+PrintCodeCacheInfo
-
コードキャッシュ領域の使用量を出力します。
また,コードキャッシュ領域の使用量がしきい値に達したことを知らせるメッセージを出力します。
- -XX:-PrintCodeCacheInfo
-
コードキャッシュ領域の使用量を出力しません。
また,コードキャッシュ領域の使用量がしきい値に達したことを知らせるメッセージを出力しません。
説明
コードキャッシュ領域の使用量を出力するかどうか,また,使用量がしきい値に達したことを知らせるメッセージをJavaVMログファイルに出力するかどうかを指定します。
コードキャッシュ領域については,マニュアル「アプリケーションサーバ システム設計ガイド」の「7.2.6 SerialGC使用時のJavaVMで使用するメモリ空間の構成とJavaVMオプション」を参照してください。
このオプションを有効にすると,GC発生時,コードキャッシュ領域の使用量が拡張verbosegc情報に出力されます。また,コードキャッシュ領域の使用量がしきい値に達したとき,メッセージが出力されます。
しきい値は「コードキャッシュ領域の最大サイズ×-XX:CodeCacheInfoPrintRatioオプションの値÷100」です。
-XX:-HitachiVerboseGCオプションを指定している場合でも,javagcコマンドの-vオプションや-sオプションによって出力する拡張verbosegc情報には,コードキャッシュ領域の使用量が出力されます。
- デフォルト値
-
-
-XX:+PrintCodeCacheInfo
-
- 前提オプション
-
-
-XX:+HitachiVerboseGC
-
- 関連オプション
-
-
-XX:+HitachiCommaVerboseGC
-
-XX:CodeCacheInfoPrintRatio
-
出力形式
コードキャッシュ領域の使用量の出力形式を次に示します。
[id] <date> (Skip Full:full_count, Copy:copy_count, Inc:inc_count) [gc_kind gc_info, gc_time secs][Eden: eden_info][Survivor: survivor_info][Tenured: tenured_info] [Metaspace: metaspace_info][class space: class_space_info][cause:cause_info] [User: user_cpu secs][Sys: system_cpu secs][IM: jvm_alloc_size, mmap_total_size, malloc_total_size][TC: thread_count][DOE: doe_alloc_size, called_count][CCI: cc_used_sizeK, cc_max_sizeK, cc_infoK]
出力内容を次に示します。なお,ここでは,このオプションによって出力される項目について説明します。ここで説明している以外の項目については,「-XX:[+|-]HitachiVerboseGC(拡張verbosegc情報出力オプション)」の出力形式の説明を参照してください。
- cc_used_size
-
GC発生時のコードキャッシュ領域の使用サイズ。単位はキロバイトです。
- cc_max_size
-
コードキャッシュ領域の最大サイズ。単位はキロバイトです。
- cc_info
-
保守情報。単位はキロバイトです。
コードキャッシュ領域の使用量がしきい値に達したことを知らせるメッセージの出力形式を次に示します。
[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
-
保守情報。単位はキロバイトです。
出力例
-
コードキャッシュ領域の使用量の出力例を次に示します。
[VGC]<Wed Mar 17 00:42:30 2004>(Skip Full:0,Copy:0)[Full GC 149K->149K(1984K), 0.0786038 secs][DefNew::Eden: 264K->0K(512K)][DefNew::Survivor: 0K->63K(64K)][Tenured: 85K->149K(1408K)][Metaspace: 3634K(4492K, 4492K)->3634K(4492K, 4492K)][class space: 356K(388K, 388K)->356K(388K, 388K)][cause:System.gc][User: 0.0156250 secs][Sys: 0.0312500 secs][IM: 729K, 928K, 0K][TC: 509][DOE: 16K, 170][CCI: 2301K, 49152K, 2304K]
-
コードキャッシュ領域の使用量がしきい値に達したことを知らせるメッセージの出力例を次に示します。
[CCI]<Wed Dec 26 14:27:53 2012>CodeCache usage has exceeded the threshold.[39358K, 49152K, 39360K]
注意事項
-
コードキャッシュ領域の使用量がしきい値に達した状態で推移している場合,JavaメソッドがJITコンパイルされてもメッセージは出力されません。
一方,コードキャッシュ領域の使用量がしきい値未満まで下がったあと,JavaメソッドがJITコンパイルされたことによって再びコードキャッシュ領域の使用量がしきい値に達した場合には,メッセージが出力されます。
-
システムが使用するコードキャッシュ領域は最大2メガバイトです。そのため,システムのコードキャッシュ領域の使用量によっては,コードキャッシュ領域を最大サイズまで使用していない場合でも,コードキャッシュ領域が枯渇することがあります。
また,コードキャッシュ領域の使用量のしきい値に大きな値を指定している場合,メッセージを出力する前にコードキャッシュ領域が枯渇する場合があります。コードキャッシュ領域が枯渇する前にメッセージを出力したいときは,「コードキャッシュ領域の最大サイズ−しきい値」の値が4メガバイト以上になるように,「-XX:CodeCacheInfoPrintRatio(コードキャッシュ領域使用率指定オプション)」の値を指定してください。