Hitachi

 Hitachi Application Server V10 定義リファレンスWindows®用)


7.6.2 -XX:[+|-]HitachiVerboseGC

GCが発生した場合、拡張verbosegc情報をJavaVMログファイルに出力します。

説明

GCが発生した時の拡張verbosegc情報を出力するかどうかを指定します。

出力形式(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

FullGC情報出力をスキップした回数。

-XX:HitachiVerboseGCIntervalTimeオプションが指定された場合に出力されます。

copy_count

CopyGC情報出力をスキップした回数。

-XX:HitachiVerboseGCIntervalTimeオプションが指定された場合に出力されます。

gc_kind

GC種別。"FullGC"、"GC"が出力されます。

gc_info

GC情報。次の形式で出力されます。

GC前の領域長 -> GC後の領域長 (領域サイズ)

gc_time

GC経過時間。

Eden

Edenの種別。"DefNew::Eden"が出力されます。

eden_info

Eden情報。次の形式で出力されます。

GC前の領域長 -> GC後の領域長 (領域サイズ)

Survivor

Survivorの種別。"DefNew::Survivor"が出力されます。

survivor_info

Survivor情報。次の形式で出力されます。

GC前の領域長 -> GC後の領域長 (領域サイズ)

Tenured

Tenuredの種別。"Tenured"が出力されます。

tenured_info

Tenured情報。次の形式で出力されます。

GC前の領域長 -> GC後の領域長 (領域サイズ)

Metaspace_info

Metaspace領域のメモリー情報。次の形式で出力されます。

GC前のMetaspace領域の使用サイズK(GC前のMetaspace領域のcapacityサイズK, GC前のMetaspace領域のcommitサイズK)->GC後のMetaspace領域の使用サイズK(GC後のMetaspace領域のcapacityサイズK, GC後のMetaspace領域のcommitサイズK)

classspace_info

Compressed Class Spaceのメモリー情報。次の形式で出力されます。

GC前のCompressed Class Spaceの使用サイズK(GC前のCompressed Class SpaceのcapacityサイズK, GC前のCompressed Class SpaceのcommitサイズK)->GC後のCompressed Class Spaceの使用サイズK(GC後のCompressed Class SpaceのcapacityサイズK, GC後のCompressed Class SpaceのcommitサイズK)

圧縮オブジェクトポインター機能を使用していない場合、出力されません。

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_sizemalloc_total_sizeの合計サイズのうち、現在使用中の領域のサイズ)。

-XX:-HitachiVerboseGCPrintJVMInternalMemoryオプションが指定された場合、出力されません。

mmap_total_size

JavaVM内部で管理している領域のうち、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の場合)

JavaVMログファイルには、GCに関するログとConcurrent Markingに関するログが出力されます。Concurrent Markingは、アプリケーションと並行で処理を実行するため、1回のConcurrent Markingに関するログは複数行に分かれて出力されます。

GCに関するログの出力形式
[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_sizeK]
[Target: target_time secs][Predicted: predicted_time secs]
[TargetTenured: target_sizeK][Reclaimable: reclaimable_info]
[User: user_cpu secs][Sys: system_cpu secs]
[IM: jvm_alloc_sizeK, mmap_total_sizeK, malloc_total_sizeK][TC: thread_count]
[DOE: doe_alloc_sizeK, called_count][CCI: cc_used_sizeK, cc_max_sizeK, cc_infoK]
Concurrent Markingに関するログの出力形式
[id]<date>[cm_event][User: user_cpu secs][Sys: sys_cpu secs]

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

分類

出力項目

出力内容

GCに関するログ

id

VG1(JavaVMログファイル識別子)。

date

GCまたはConcurrent Markingの 開始日時。

-XX:-HitachiVerboseGCPrintDateオプションが指定された場合、出力されません。

gc_kind

GCまたはConcurrent Markingの種別。"FullGC"、"Mixed GC"、"Young GC"、"Young GC(initial-mark)"、"CM Remark"、"CM Cleanup"が出力されます。

gc_info

Java ヒープ領域のメモリー情報 。次の形式で出力されます。単位はキロバイトです。

GC前のJavaヒープ領域の使用サイズK/GC前のJavaヒープ領域の使用サイズK(GC前のJavaヒープ領域の領域サイズK)->GC後のJavaヒープ領域の使用サイズK/GC後のJavaヒープ領域の使用サイズK(GC後のJavaヒープ領域の領域サイズK)

gc_time

GCによるアプリケーション停止時間 。単位は秒です。

gc_status

GCの状態。

  • To 空間あふれが発生した場合、"to exhausted"が出力されます。

  • 上記以外の場合、"-"が出力されます。

GCの種別ごとに、出力されるGCの状態を次に示します。

  • gc_kindが"Young GC"、"Young GC(initial-mark)"または"Mixed GC"の場合

    "-"または"to exhausted"が出力されます。

  • gc_kindが上記以外の場合

    "-"が出力されます。

eden_info

Eden 領域のメモリー情報。 次の形式で出力されます。単位はキロバイトです。

GC前のEden領域の使用サイズK(GC前のEden領域が取得できる最大の領域サイズK)->GC後のEden領域の使用サイズK(GC後のEden領域が取得できる最大の領域サイズK)

Eden領域が取得できる最大の領域サイズは、「New領域の領域サイズ-Survivor領域の使用サイズ」を指します。

survivor_info

Survivor領域のメモリー情報。次の形式で出力されます。単位はキロバイトです。

GC前のSurvivor領域の使用サイズK->GC後のSurvivor領域の使用サイズK

tenured_info

Tenured領域のメモリー情報。次の形式で出力されます。単位はキロバイトです。

GC前のTenured領域の使用サイズK->GC後のTenured領域の使用サイズK

humongous_info

Humongous領域のメモリー情報。次の形式で出力されます。単位はキロバイトです。

GC前のHumongous領域の使用サイズK->GC後のHumongous領域の使用サイズK

free_info

Free領域のメモリー情報。次の形式で出力されます。単位はキロバイトです。

GC前のFree領域の使用サイズK->GC後のFree領域の使用サイズK

Metaspace_info

Metaspace領域のメモリー情報。次の形式で出力されます。単位はキロバイトです。

GC前のMetaspace領域の使用サイズK(GC前のMetaspace領域のcapacityサイズK, GC前のMetaspace領域のcommitサイズK)->GC後のMetaspace領域の使用サイズK(GC後のMetaspace領域のcapacityサイズK, GC後のMetaspace領域のcommitサイズK)

classspace_info

Compressed Class Spaceのメモリー情報。次の形式で出力されます。単位はキロバイトです。

GC前のCompressed Class Spaceの使用サイズK(GC前のCompressed Class SpaceのcapacityサイズK, GC前のCompressed Class SpaceのcommitサイズK)->GC後のCompressed Class Spaceの使用サイズK(GC後のCompressed Class SpaceのcapacityサイズK, GC後のCompressed Class SpaceのcommitサイズK)

圧縮オブジェクトポインター機能を使用していない場合、出力されません。

cause_info

GC要因内容。

-XX:-HitachiVerboseGCPrintCauseオプションが指定された場合、出力されません。

region_size

1リージョンのサイズ。単位はキロバイトです。

target_time

GCによるアプリケーション停止時間の目標時間。単位は秒です。

目標時間は、-XX:+MaxGCPauseMillisオプションで指定できます。

predicted_time

JavaVMが予測したGCによるアプリケーション停止時間。単位は秒です。

GCまたはConcurrent Markingの種別が"Full GC"、"CM Remark"または"CM Cleanup"の場合、JavaVMは予測しないため、0が出力されます。

target_size

Mixed GCでGC対象となったTenured領域のサイズ。単位はキロバイトです。

GCまたはConcurrent Markingの種別が"Mixed GC"以外の場合、0が出力されます。

reclaimable_info

予測回収サイズ情報。次の形式で出力されます。

予測回収サイズK(予測回収率%)

予測回収サイズの単位はキロバイトです。予測回収率は小数点以下第2位までが出力されます。

なお、予測回収サイズ情報は、Concurrent Marking終了直後のYoung GCまたはMixed GCの場合に出力されます。ほかの場合、JavaVMは予測しないため、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_sizemalloc_total_sizeの合計サイズのうち、現在使用中の領域のサイズ)。

-XX:-HitachiVerboseGCPrintJVMInternalMemoryオプションが指定された場合、出力されません。

mmap_total_size

JavaVM内部で管理している領域のうち、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オプションが指定された場合、出力されません。

Concurrent Markingに関するログ

id

VCM(JavaVMログファイル識別子)。

date

Concurrent Marking開始日時。

-XX:-HitachiVerboseGCPrintDateオプションが指定された場合、出力されません。

cm_event

Concurrent Markingの状態。

  • Concurrent Root Region Scan Start

    Concurrent Root Region Scanが開始されました。

  • Concurrent Root Region Scan End

    Concurrent Root Region Scanが終了しました。

  • Concurrent Mark Start

    Concurrent Markが開始されました。

  • Concurrent Mark End

    Concurrent Markが終了しました。

  • Concurrent Mark Stop

    Concurrent Markを中止しました。

  • Concurrent Cleanup Start

    Concurrent Cleanupが開始されました。

  • Concurrent Cleanup End

    Concurrent Cleanupが終了しました。

user_cpu

すべてのGCスレッドがユーザーモードで費やしたCPU時間の合計。単位は秒です。

CPU時間取得に失敗した場合、[User: unknown]のように、"unknown"と表示されます。

-XX:-HitachiVerboseGCCpuTimeオプションが指定された場合、出力されません。

Concurrent Markingの状態が"Concurrent Mark Start"の場合、0が出力されます。

sys_cpu

すべてのGCスレッドがカーネルモードで費やしたCPU時間の合計。単位は秒です。

CPU時間取得に失敗した場合、[Sys: unknown]のように、"unknown"と表示されます。

-XX:-HitachiVerboseGCCpuTimeオプションが指定された場合、出力されません。

Concurrent Markingの状態が"Concurrent Mark Start"の場合、0が出力されます。

注※

サイズは、 領域のサイズを1リージョンのサイズで切り上げ、1リージョンのサイズの倍数で表した値となります。

cause_infoに出力されるGC要因内容を次に示します。

表7‒4 GC要因一覧

要因番号

要因内容

説明

GCの種類

G1GC以外

G1GC

0

ObjAllocFail

オブジェクトの領域確保失敗によってGCが発生しました。

1

System.gc

java.lang.System.gcメソッド呼び出しによってGCが発生しました。

3

DelayedGC

JNIやJVMTIによって保留されていたGCが起動されました。

4

JavaGCCommand

javagcコマンドによってGCが発生しました。

6

JHeapProfCommand

jheapprofコマンドによってGCが発生しました。

×

8

EMReclaimFail

Explicitメモリーの明示解放によるJavaヒープへのオブジェクト移動が発生してJavaヒープがあふれました。

×

9

EMMigrateFail

Explicitメモリーの自動解放によるJavaヒープへのオブジェクト移動が発生してJavaヒープがあふれました。

×

10

JVMTIForceGC

JVMTI関数ForceGarbageCollection()によってGCが発生しました。

11

PromotionFail

CopyGCの昇格失敗によってGCが発生しました。

×

12

EMJavaGCCommand

javagcコマンドによるExplicitメモリーブロックの解放によってGCが発生しました。

13

EHeapProfCommand

eheapprofコマンドによってGCが発生しました。

14

G1HumAllocFail

G1GC 使用時、Humongous用の領域確保のために GC が発生しました。

×

15

G1EvacuationPause

G1GC 使用時にエバキュエーションが発生しました。

×

16

Concurrent Marking

GC は発生していないが、アプリケーションを停止して実行するConcurrent Marking 処理をログに出力しました。

×

17

EvacuationFail

G1GC 使用時にエバキュエーションの 失敗による GC が発生しました。

×

18

MetaspaceAllocFail

Metaspaceの領域確保失敗によってGCが発生しました。

19

LastMetaspaceGC

MetaspaceのOutOfMemoryを出す前の最後のGCが発生しました。

(凡例)

○:出力します。

×:出力しません。

書式

-XX:[+|-]HitachiVerboseGC

指定できる値

型:String

-XX:+HitachiVerboseGC

GCが発生した場合、拡張verbosegc情報をJavaVMログファイルに出力します。

GCの内部領域であるEden、Survivor、Tenured、Metaspace種別の情報を拡張verbosegc情報として出力します。

-XX:-HitachiVerboseGC

GCが発生した場合、拡張verbosegc情報をJavaVMログファイルに出力しません。

デフォルト値

定義項目の省略

-XX:-HitachiVerboseGC

出力例

出力例1

SerialGCの場合に-XX:HitachiVerboseGCIntervalTimeオプションが指定されているとき

[VGC]<Thu Oct 02 10:38:53.658 2014>(Skip Full:1,Copy:0)
[Full GC 770K->682K(8064K), 0.0050003 secs][DefNew::Eden: 88K->0K(2304K)]
[DefNew::Survivor: 0K->0K(256K)][Tenured: 681K->682K(5504K)] 
[Metaspace: 3634K(4492K, 4492K)->3634K(4492K, 4492K)]
[class space: 356K(388K, 388K)->356K(388K, 388K)] 
[cause:System.gc][User: 0.0000000 secs][Sys: 0.0000000 secs]
[IM: 11944K, 12448K, 0K][TC: 22][DOE: 0K, 0][CCI: 1173K, 245760K, 2496K]
出力例2

G1GCの場合

  • GCに関するログ

    [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]
  • Concurrent Markingに関するログ

    [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]