-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を使用している場合)

出力内容を次に説明します。

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オプションが指定された場合,出力されません。
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を使用している場合

G1GCを使用している場合