-XX:[+|-]HitachiVerboseGC(拡張verbosegc情報出力オプション)
- 〈このページの構成〉
形式
- -XX:+HitachiVerboseGC
-
GCが発生した場合,拡張verbosegc情報をJavaVMログファイルに出力します。
GCの内部領域であるEden,Survivor,Tenured,Metaspace種別の情報を拡張verbosegc情報として出力します。
- -XX:-HitachiVerboseGC
-
GCが発生した場合,拡張verbosegc情報をJavaVMログファイルに出力しません。
説明
GCが発生した時の拡張verbosegc情報を出力するかどうかを指定します。
- デフォルト値
-
-
-XX:-HitachiVerboseGC
-
出力形式(SerialGCを使用している場合)
[id] <date> (Skip Full:full_count, Copy:copy_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]
出力内容を次に説明します。
- id
-
VGC(JavaVMログファイル識別子)。
- date
-
GC開始日時。
-XX:-HitachiVerboseGCPrintDateオプションが指定された場合,出力されません。
- full_count
-
full GC情報出力をスキップした回数。
-XX:HitachiVerboseGCIntervalTimeオプションが指定された場合に出力されます。
- copy_count
-
copy GC情報出力をスキップした回数。
-XX:HitachiVerboseGCIntervalTimeオプションが指定された場合に出力されます。
- gc_kind
-
GC種別。"FullGC","GC"が出力されます。
- gc_info
-
GC情報。次の形式で出力されます。
<GC前の領域長> -> <GC後の領域長> (<領域サイズ>)
- gc_time
-
GC経過時間。
- Eden
-
エデンの種別。"DefNew::Eden"または"ParNew::Eden"が出力されます。
- eden_info
-
Eden情報。次の形式で出力されます。
<GC前の領域長> -> <GC後の領域長> (<領域サイズ>)
- Servivor
-
Survivorの種別。"DefNew:: Survivor"または"ParNew::Survivor"が出力されます。
- survivor_info
-
Survivor情報。次の形式で出力されます。
<GC前の領域長> -> <GC後の領域長> (<領域サイズ>)
- Tenured
-
Tenuredの種別。"Tenured"が出力されます。
- tenured_info
-
Tenured情報。次の形式で出力されます。
<GC前の領域長> -> <GC後の領域長> (<領域サイズ>)
- metaspace_info
-
Metaspace領域の情報。次の形式で出力されます。
<GC前の使用サイズ>(<GC前のcapacityサイズ>, <GC前のcommitサイズ>) -> <GC後の使用サイズ>(<GC後のcapacityサイズ>, <GC後のcommitサイズ>)
- class_space_info
-
Compressed Class Spaceの情報。次の形式で出力されます。
<GC前の使用サイズ>(<GC前のcapacityサイズ>, <GC前のcommitサイズ>) -> <GC後の使用サイズ>(<GC後のcapacityサイズ>, <GC後のcommitサイズ>)
-XX:- UseCompressedOopsオプションが指定された場合,出力されません。
- cause_info
-
GC要因内容。
-XX:-HitachiVerboseGCPrintCauseオプションが指定された場合,出力されません。
- user_cpu
-
GCスレッドがユーザーモードで費やしたCPU時間。単位は秒です。
CPU時間取得に失敗した場合,[User: unknown]のように,"unknown"と表示されます。
-XX:-HitachiVerboseGCCpuTimeオプションが指定された場合,出力されません。
- system_cpu
-
GCスレッドがカーネルモードで費やしたCPU時間。単位は秒です。
CPU時間取得に失敗した場合,[Sys: unknown]のように,"unknown"と表示されます。
-XX:-HitachiVerboseGCCpuTimeオプションが指定された場合,出力されません。
- jvm_alloc_size
-
JavaVM内部で管理している領域のうち,現在使用中の領域のサイズ(mmap_total_sizeとmalloc_total_sizeの合計サイズのうち,現在使用中の領域のサイズ)。
-XX:-HitachiVerboseGCPrintJVMInternalMemoryオプションが指定された場合,出力されません。
- mmap_total_size
-
JavaVM内部で管理している領域のうち,mmap(Windowsの場合はVirtualAlloc)で割り当てたCヒープの総サイズ。
-XX:-HitachiVerboseGCPrintJVMInternalMemoryオプションが指定された場合,出力されません。
- malloc_total_size
-
JavaVM内部で管理している領域のうち,mallocで割り当てたCヒープの総サイズ。
-XX:-HitachiVerboseGCPrintJVMInternalMemoryオプションが指定された場合,出力されません。
- thread_count
-
Javaスレッドの数。
-XX:-HitachiVerboseGCPrintThreadCountオプションが指定された場合,出力されません。
- doe_alloc_size
-
java.io.File.deleteOnExit()を呼び出して確保した累積のヒープサイズ。
-XX:-HitachiVerboseGCPrintDeleteOnExitオプションが指定された場合,出力されません。
- called_count
-
java.io.File.deleteOnExit()の呼び出し回数。
-XX:-HitachiVerboseGCPrintDeleteOnExitオプションが指定された場合,出力されません。
- cc_used_size
-
GC発生時のコードキャッシュ領域の使用サイズ。単位はキロバイトです。
-XX:-PrintCodeCacheInfoオプションが指定された場合,出力されません。
- cc_max_size
-
コードキャッシュ領域の最大サイズ。単位はキロバイトです。
-XX:-PrintCodeCacheInfoオプションが指定された場合,出力されません。
- cc_info
-
保守情報。
-XX:-PrintCodeCacheInfoオプションが指定された場合,出力されません。
出力形式(G1GCを使用している場合)
-
VG1ログ
[id]<date>[gc_kind gc_info, gc_time secs][Status: gc_status][G1GC:Eden: eden_info][G1GC:Survivor: survivor_info][G1GC:Tenured: tenured_info][G1GC:Humongous: humongous_info][G1GC:Free: free_info][Metaspace: metaspace_info][class space: class_space_info][cause:cause_info][RegionSize: region_size][Target: target_time secs][Predicted: predicted_time secs][TargetTenured: target_size][Reclaimable: reclaimable_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]
出力内容を次に説明します。
- id
-
VG1(JavaVMログファイル識別子)。
- date
-
GC開始日時。
-XX:-HitachiVerboseGCPrintDateオプションが指定された場合,出力されません。
- gc_kind
-
GC種別。“Full GC”, “Mixed GC”, “Young GC”, “Young GC(initial-mark)”, “CM Remark”, “CM Cleanup”のどれかが出力されます。
- gc_info
-
GC情報。次の形式で出力されます。
<GC前の領域サイズ>/<GC前の領域サイズ(リージョン換算)>(<GC前の領域サイズ>) -> <GC後の領域サイズ>/<GC前の領域サイズ(リージョン換算)>(<GC後の領域サイズ>)
リージョン換算とは領域サイズを1リージョンのサイズで切り上げ,1リージョンのサイズの倍数で表した値です。
- gc_time
-
GC経過時間。
- gc_status
-
GCの状態。”-”, “to exhausted”が出力されます。
- eden_info
-
Eden情報。次の形式で出力されます。
<GC前の領域サイズ(リージョン換算)>(<GC前の最大領域サイズ(リージョン換算)>) -> <GC後の領域サイズ(リージョン換算)>(<GC後の最大領域サイズ(リージョン換算)>)
リージョン換算とは領域サイズを1リージョンのサイズで切り上げ,1リージョンのサイズの倍数で表した値です。
- survivor_info
-
Survivor情報。次の形式で出力されます。
<GC前の領域サイズ(リージョン換算)> -> <GC後の領域サイズ(リージョン換算)>
リージョン換算とは領域サイズを1リージョンのサイズで切り上げ,1リージョンのサイズの倍数で表した値です。
- tenured_info
-
Tenured情報。次の形式で出力されます。
<GC前の領域サイズ(リージョン換算)> -> <GC後の領域サイズ(リージョン換算)>
リージョン換算とは領域サイズを1リージョンのサイズで切り上げ,1リージョンのサイズの倍数で表した値です。
- humongous_info
-
Humongous情報。次の形式で出力されます。
<GC前の領域サイズ(リージョン換算)> -> <GC後の領域サイズ(リージョン換算)>
リージョン換算とは領域サイズを1リージョンのサイズで切り上げ,1リージョンのサイズの倍数で表した値です。
- free_info
-
Free情報。次の形式で出力されます。
<GC前の領域サイズ(リージョン換算)> -> <GC後の領域サイズ(リージョン換算)>
リージョン換算とは領域サイズを1リージョンのサイズで切り上げ,1リージョンのサイズの倍数で表した値です。
- metaspace_info
-
Metaspace領域の情報。次の形式で出力されます。
<GC前の使用サイズ>(<GC前のcapacityサイズ>, <GC前のcommitサイズ>) -> <GC後の使用サイズ>(<GC後のcapacityサイズ>, <GC後のcommitサイズ>)
- class_space_info
-
Compressed Class Spaceの情報。次の形式で出力されます。
<GC前の使用サイズ>(<GC前のcapacityサイズ>, <GC前のcommitサイズ>) -> <GC後の使用サイズ>(<GC後のcapacityサイズ>, <GC後のcommitサイズ>)
-XX:- UseCompressedOopsオプションが指定された場合,出力されません。
- cause_info
-
GC要因内容。
-XX:-HitachiVerboseGCPrintCauseオプションが指定された場合,出力されません。
- region_size
-
1リージョンのサイズです。
単位はキロバイトです。
- target_time
-
GCによるアプリケーション停止時間の目標時間です。
単位は秒です。
- predicted_time
-
JavaVMが予測したGCによるアプリケーション停止時間です。
単位は秒です。
なお,GC種別が”Full GC”,”CM Remark”,“CM Cleanup”のときは予測をしないため,0が出力されます。
- target_size
-
Mixed GCでGC対象となったTenured領域のサイズです。
単位はキロバイト。
なお,GC種別が”Mixed GC”以外のときは,0が出力されます。
- reclaimable_info
-
MixedGCで回収されるTenured領域の予測回収サイズ情報。次の形式で出力されます。
<予測回収サイズ>(<予測回収率>)
なお,予測回収サイズ情報はCM終了直後のYoung GCまたはMixed GCだけ出力されます。それ以外の場合,予測を行わないため,0が出力されます。
- user_cpu
-
GCスレッドがユーザーモードで費やしたCPU時間。単位は秒です。
CPU時間取得に失敗した場合,[User: unknown]のように,"unknown"と表示されます。
-XX:-HitachiVerboseGCCpuTimeオプションが指定された場合,出力されません。
- system_cpu
-
GCスレッドがカーネルモードで費やしたCPU時間。単位は秒です。
CPU時間取得に失敗した場合,[Sys: unknown]のように,"unknown"と表示されます。
-XX:-HitachiVerboseGCCpuTimeオプションが指定された場合,出力されません。
- jvm_alloc_size
-
JavaVM内部で管理している領域のうち,現在使用中の領域のサイズ(mmap_total_sizeとmalloc_total_sizeの合計サイズのうち,現在使用中の領域のサイズ)。
-XX:-HitachiVerboseGCPrintJVMInternalMemoryオプションが指定された場合,出力されません。
- mmap_total_size
-
JavaVM内部で管理している領域のうち,mmap(Windowsの場合はVirtualAlloc)で割り当てたCヒープの総サイズ。
-XX:-HitachiVerboseGCPrintJVMInternalMemoryオプションが指定された場合,出力されません。
- malloc_total_size
-
JavaVM内部で管理している領域のうち,mallocで割り当てたCヒープの総サイズ。
-XX:-HitachiVerboseGCPrintJVMInternalMemoryオプションが指定された場合,出力されません。
- thread_count
-
Javaスレッドの数。
-XX:-HitachiVerboseGCPrintThreadCountオプションが指定された場合,出力されません。
- doe_alloc_size
-
java.io.File.deleteOnExit()を呼び出して確保した累積のヒープサイズ。
-XX:-HitachiVerboseGCPrintDeleteOnExitオプションが指定された場合,出力されません。
- called_count
-
java.io.File.deleteOnExit()の呼び出し回数。
-XX:-HitachiVerboseGCPrintDeleteOnExitオプションが指定された場合,出力されません。
- cc_used_size
-
GC発生時のコードキャッシュ領域の使用サイズ。単位はキロバイトです。
-XX:-PrintCodeCacheInfoオプションが指定された場合,出力されません。
- cc_max_size
-
コードキャッシュ領域の最大サイズ。単位はキロバイトです。
-XX:-PrintCodeCacheInfoオプションが指定された場合,出力されません。
- cc_info
-
保守情報。
-XX:-PrintCodeCacheInfoオプションが指定された場合,出力されません。
-
VCM
[id]<date>[cm_event][User: user_cpu secs][Sys: sys_cpu secs]
- id
-
VCM(JavaVMログファイル識別子)。
- date
-
CM開始日時。
-XX:-HitachiVerboseGCPrintDateオプションが指定された場合,出力されません。
- cm_event
-
CM種別。"Concurrent Root Region Scan Start","Concurrent Root Region Scan End ","Concurrent Mark Start","Concurrent Mark End","Concurrent Mark Stop","Concurrent Cleanup Start","Concurrent Cleanup End"のどれかが出力されます。
- user_cpu
-
全CMスレッドがユーザーモードで費やしたCPU時間。単位は秒です。
-XX:-HitachiVerboseGCCpuTime指定時は出力されません。
CPU時間取得に失敗した場合,[User: unknown]のように,"unknown"と表示されます。
CMの状態がStartの場合,0が出力されます。
- sys_cpu
-
全CMスレッドがカーネルモードで費やしたCPU時間。単位は秒です。
-XX:-HitachiVerboseGCCpuTime指定時は出力されません。
CPU時間取得に失敗した場合,[Sys: unknown]のように,"unknown"と表示されます。
CMの状態がStartの場合,0が出力されます。
出力例
SerialGCを使用している場合
-
-XX:HitachiVerboseGCIntervalTimeオプションが指定されている場合
[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]
G1GCを使用している場合
-
VG1ログ
[VG1]<Thu Oct 02 10:38:56.193 2014>[Full GC 753K/2048K(8192K)->678K/1024K(8192K), 0.0097901 secs][Status:-][G1GC::Eden: 1024K(2048K)->0K(2048K)][G1GC::Survivor: 0K->0K][G1GC::Tenured: 1024K->1024K][G1GC::Humongous: 0K->0K][G1GC::Free: 6144K->7168K] [Metaspace: 3634K(4492K, 4492K)->3634K(4492K, 4492K)][class space: 356K(388K, 388K)->356K(388K, 388K)] [cause:System.gc][RegionSize: 1024K][Target: 0.2000000 secs][Predicted: 0.0000000 secs][TargetTenured: 0K][Reclaimable: 0K(0.00%)][User: 0.0000000 secs][Sys: 0.0000000 secs][IM: 20459K, 21920K, 0K][TC: 35][DOE: 0K, 0][CCI: 1172K, 245760K, 2496K]
-
VCMログ
[VCM]<Wed Jul 24 11:45:20 2013>[Concurrent Root Region Scan Start][User: 0.0000000 secs][Sys: 0.0000000 secs] [VCM]<Wed Jul 24 11:45:20 2013>[Concurrent Root Region Scan End][User: 0.0126134 secs][Sys: 0.0146961 secs] [VCM]<Wed Jul 24 11:45:20 2013>[Concurrent Mark Start][User: 0.0000000 secs][Sys: 0.0000000 secs] [VCM]<Wed Jul 24 11:45:34 2013>[Concurrent Mark End][User: 0.0156250 secs][Sys: 0.2495800 secs]