7.6.1 -XX:[+|-]HitachiCommaVerboseGC
-XX:[+|-]HitachiCommaVerboseGC outputs the extended verbosegc information in CSV format.
Description
-XX:[+|-]HitachiCommaVerboseGC specifies whether to output the extended verbosegc information in CSV format.
- Prerequisite option
-
-
-XX:+HitachiVerboseGC
-
- Output format (for SerialGC)
-
- Output format when the -XX:-HitachiVerboseGCIntervalTime option is specified:
-
id,date,full_count,copy_count,gc_kind,gc_info,gc_time,eden_info, survivor_info,tenured_info,metaspace_info,classspace_info,cause_info, user_cpu,system_cpu,jvm_alloc_size,mmap_total_size,malloc_total_size, thread_count,doe_alloc_size,called_count,cc_used_size,cc_max_size,cc_info
The following provides details about the output.
Output item
Output content
id
Java VM log file identifier.
date
Start date and time of GC. This information is not output if the -XX:-HitachiVerboseGCPrintDate option is specified.
full_count
Number of times output of the Full GC information is skipped.
This information is output if the -XX:HitachiVerboseGCIntervalTime option is specified.
copy_count
The number of times output of the CopyGC information is skipped.
This information is output if the -XX:HitachiVerboseGCIntervalTime option is specified.
gc_kind
GC type. FullGC or GC is output.
gc_info
GC information. This information is output in the following format, where values are given in units of kilobytes:
area_length_before_GC,area_length_after_GC,area_size
gc_time
Elapsed GC time. This information is output in units of seconds.
eden_info
Eden information. This information is output in the following format, where values are given in units of kilobytes:
area_length_before_GC,area_length_after_GC,area_size
survivor_info
Survivor information. This information is output in the following format, where values are given in units of kilobytes:
area_length_before_GC,area_length_after_GC,area_size
tenured_info
Tenured information. This information is output in the following format, where values are given in units of kilobytes:
area_length_before_GC,area_length_after_GC,area_size
metaspace_info
Metaspace information. This information is output in the following format, where values are given in units of kilobytes:
size_of_used_Metaspace_area_before_GC,capacity_of_Metaspace_area_before_GC,size_of_committed_Metaspace_area_before_GC,size_of_used_Metaspace_area_after_GC,capacity_of_Metaspace_area_after_GC,size_of_committed_Metaspace_area_after_GC
classspace_info
Compressed Class Space information. This information is output in the following format, where values are given in units of kilobytes:
size_of_used_Compressed_Class_Space_before_GC,capacity_of_Compressed_Class_Space_before_GC,size_of_committed_Compressed_Class_Space_before_GC,size_of_used_Compressed_Class_Space_after_GC,capacity_of_Compressed_Class_Space_after_GC,size_of_committed_Compressed_Class_Space_after_GC
If the functionality for the compressed object pointer is not used, 0 is output for each size.
cause_info
GC factor number.
This information is not output if the -XX:-HitachiVerboseGCPrintCause option is specified.
user_cpu
Amount of CPU time that the GC thread spent in user mode. This information is output in units of seconds.
If acquisition of the CPU time fails, unknown is displayed.
This information is not output if the -XX:-HitachiVerboseGCCpuTime option is specified.
system_cpu
Amount of CPU time that the GC thread spent in kernel mode. This information is output in units of seconds.
If acquisition of the CPU time fails, unknown is displayed.
This information is not output if the -XX:-HitachiVerboseGCCpuTime option is specified.
jvm_alloc_size
Of the areas managed in Java VM, the size of the area that is currently in use (of the total size of mmap_total_size and malloc_total_size, the size of the area that is currently in use). This information is output in units of kilobytes.
This information is not output if the -XX:-HitachiVerboseGCPrintJVMInternalMemory option is specified.
mmap_total_size
Of the areas managed in Java VM, the total size of the C heap assigned by mmap. This information is output in units of kilobytes.
This information is not output if the -XX:-HitachiVerboseGCPrintJVMInternalMemory option is specified.
malloc_total_size
Of the areas managed in Java VM, the total size of the C heap assigned by malloc. This information is output in units of kilobytes.
This information is not output if the -XX:-HitachiVerboseGCPrintJVMInternalMemory option is specified.
thread_count
Number of Java threads.
This information is not output if the -XX:-HitachiVerboseGCPrintThreadCount option is specified.
doe_alloc_size
Accumulated size of the heap that was secured by calling java.io.File.deleteOnExit(). This information is output in units of kilobytes.
This information is not output if the -XX:-HitachiVerboseGCPrintDeleteOnExit option is specified.
called_count
Number of times java.io.File.deleteOnExit() was called.
This information is not output if the -XX:-HitachiVerboseGCPrintDeleteOnExit option is specified.
cc_used_size
Size of the used code cache area when GC occurred. This information is output in units of kilobytes.
This information is not output if the -XX:-PrintCodeCacheInfo option is specified.
cc_max_size
Maximum size of the code cache area. This information is output in units of kilobytes.
This information is not output if the -XX:-PrintCodeCacheInfo option is specified.
cc_info
Maintenance information.
This information is not output if the -XX:-PrintCodeCacheInfo option is specified.
- Output format when the -XX:+HitachiVerboseGCPrintTenuringDistribution option is specified:
-
id, date, size, value, max_value, total_age1, total_age2, total_age_n
The following provides details about the output.
Output item
Output content
id
PTD (JavaVM log file identifier).
date
Date and time the GC started.
size
Target size of the objects in the Survivor area after GC.
value
Tenure threshold value for the Java objects that will be promoted to the Tenured area in the next CopyGC.
This value is dynamically set for each CopyGC, based on the values specified in the -XX:MaxTenuringThreshold=value option, the memory size of the Survivor area, and the -XX:TargetSurvivorRatio=value option.
The Java objects for which the tenure value is value or more will be promoted to the Tenured area in the next CopyGC.
max_value
Maximum value (the value specified in the MaxTenuringThreshold option) of the tenure threshold value (value) for the Java objects that will be promoted to the Tenured area in the CopyGC.
value is dynamically set for each CopyGC, but does not exceed max_value.
The Java objects for which the tenure value is max_value or more always will be promoted to the Tenured area in the next CopyGC.
total_age1
Total number of bytes of 1-year-old objects.
total_age2
Total number of bytes of 1-to-2-year-old objects.
total_agen
Total number of bytes of 1-to-n-year-old objects.
If n is close to max_value, it means that an object with a long life exists.
- Output format (for G1GC)
-
Log entries related to GC and log entries related to concurrent marking are output to the Java VM log file. The log entry for one concurrent marking is divided into two or more lines for output, because concurrent marking executes processing in parallel with other applications.
- Output format of the log entries related to GC
-
id,date,gc_kind,gc_info,gc_time,gc_status,eden_info,survivor_info,tenured_info, humongous_info,free_info,metaspace_info,classspace_info,cause_info, region_size,target_time,predicted_time,target_size,reclaimable_info,user_cpu, system_cpu,jvm_alloc_size,mmap_total_size,malloc_total_size,thread_count, doe_alloc_size,called_count,cc_used_size,cc_max_size,cc_info
- Output format of the log entries related to concurrent marking
-
id,date,cm_event,user_cpu,sys_spu
The following provides details about the output.
Classification
Output item
Output content
Log entry related to GC
id
VG1 (Java VM log file identifier)
date
Start date and time of GC.
This information is not output if the -XX:-HitachiVerboseGCPrintDate option is specified.
gc_kind
Type of GC or Concurrent Marking. One of the following is output: FullGC, Mixed GC, Young GC, Young GC(initial-mark), CM Remark, or CM Cleanup.
gc_info
Memory information of the JavaHeap area. This information is output in the following format, where values are given in units of kilobytes:
size_of_used_JavaHeap_area_before_GC,size_of_used_JavaHeap_area_before_GC#,size_of_used_JavaHeap_area_before_GC#,size_of_used_JavaHeap_area_after_GC,size_of_used_JavaHeap_area_after_GC#,size_of_used_JavaHeap_area_after_GC#
gc_time
Amount of time for which the application stopped due to GC. This information is output in units of seconds.
gc_status
GC status.
-
When a To space overflow occurs, to exhausted is output.
-
In cases other than the above, - is output.
For each type of GC, the GC status is output as follows.
-
When gc_kind is Young GC, Young GC(initial-mark), or Mixed GC:
- or to exhausted is output.
-
When gc_kind is a type other than the above:
- is output.
eden_info
Memory information of the Eden area. This information is output in the following format, where values are given in units of kilobytes:
size_of_used_Eden_area_before_GC#,maximum_size_that_can_be_acquired_by_Eden_area_before_GC#,size_of_used_Eden_area_after_GC#,maximum_size_that_can_be_acquired_by_Eden_area_after_GC#
"maximum_size_that_can_be_acquired_by_Eden_area_before_GC" refers to "size_of_New_area - size_of_Survivor_area".
survivor_info
Memory information of the Survivor area. This information is output in the following format, where values are given in units of kilobytes:
size_of_used_Survivor_area_before_GC#,size_of_used_Survivor_area_after_GC#
tenured_info
Memory information of the Tenured area. This information is output in the following format, where values are given in units of kilobytes:
size_of_used_Tenured_area_before_GC#,size_of_used_Tenured_area_after_GC#
humongous_info
Memory information of the Humongous area. This information is output in the following format, where values are given in units of kilobytes:
size_of_used_Humongous_area_before_GC#,size_of_used_Humongous_area_after_GC#
free_info
Memory information of the Free area. This information is output in the following format, where values are given in units of kilobytes:
size_of_used_Free_area_before_GC#,size_of_used_Free_area_after_GC#
metaspace_info
Metaspace information. This information is output in the following format, where values are given in units of kilobytes:
size_of_used_Metaspace_area_before_GC,capacity_of_Metaspace_area_before_GC,size_of_committed_Metaspace_area_before_GC,size_of_used_Metaspace_area_after_GC,capacity_of_Metaspace_area_after_GC,size_of_committed_Metaspace_area_after_GC
classspace_info
Compressed Class Space information. This information is output in the following format, where values are given in units of kilobytes:
size_of_used_Compressed_Class_Space_before_GC,capacity_of_Compressed_Class_Space_before_GC,size_of_committed_Compressed_Class_Space_before_GC,size_of_used_Compressed_Class_Space_after_GC,capacity_of_Compressed_Class_Space_after_GC,size_of_committed_Compressed_Class_Space_after_GC
If the functionality for the compressed object pointer is not used, 0 is output for each size.
cause_info
GC factor number.
This information is not output if the -XX:-HitachiVerboseGCPrintCause option is specified.
region_size
Size of a single region. This information is output in units of kilobytes.
target_time
Target amount of time for which applications are stopped due to GC. This information is output in units of seconds.
You can specify the target time by using the -XX:+ MaxGCPauseMillis option.
predicted_time
Amount of time for which applications will be stopped due to GC, as predicted by Java VM. This information is output in units of seconds.
If the GC type is Full GC, CM Remark, or CM Cleanup, Java VM does not predict the stop time, and 0 is output.
target_size
Size of the Tenured area that is subject to Mixed GC. This information is output in units of kilobytes.
If the GC type is not Mixed GC, 0 is output.
reclaimable_info
Information about the predicted collection size. This information is output in the following format:
predicted_collection_size,predicted_collection_rate
The predicted collection size is output in units of kilobytes. The predicted collection rate is output as a value with two decimal places.
Note that the information about the predicted collection size is output only for Young GC or Mixed GC immediately after Concurrent Marking. In other cases, Java VM does not predict the collection size, and 0 is output.
user_cpu
Total CPU time that all GC threads spent in user mode. This information is output in units of seconds.
If acquisition of the CPU time fails, unknown is displayed, as in "[User: unknown]".
This information is not output if the -XX:-HitachiVerboseGCCpuTime option is specified.
system_cpu
Total CPU time that all GC threads spent in kernel mode. This information is output in units of seconds.
If acquisition of the CPU time fails, unknown is displayed, as in "[Sys: unknown]".
This information is not output if the -XX:-HitachiVerboseGCCpuTime option is specified.
jvm_alloc_size
Of the areas managed in Java VM, the size of the area that is currently in use (of the total size of mmap_total_size and malloc_total_size, the size of the area that is currently in use).
This information is not output if the -XX:-HitachiVerboseGCPrintJVMInternalMemory option is specified.
mmap_total_size
Of the areas managed in Java VM, the total size of the C heap assigned by mmap.
This information is not output if the -XX:-HitachiVerboseGCPrintJVMInternalMemory option is specified.
malloc_total_size
Of the areas managed in Java VM, the total size of the C heap assigned by malloc.
This information is not output if the -XX:-HitachiVerboseGCPrintJVMInternalMemory option is specified.
thread_count
Number of Java threads.
This information is not output if the -XX:-HitachiVerboseGCPrintThreadCount option is specified.
doe_alloc_size
Accumulated size of the heap that was secured by calling java.io.File.deleteOnExit().
This information is not output if the -XX:-HitachiVerboseGCPrintDeleteOnExit option is specified.
called_count
Number of times java.io.File.deleteOnExit() was called.
This information is not output if the -XX:-HitachiVerboseGCPrintDeleteOnExit option is specified.
cc_used_size
Size of the used code cache area when GC occurred. This information is output in units of kilobytes.
This information is not output if the -XX:-PrintCodeCacheInfo option is specified.
cc_max_size
Maximum size of the code cache area. This information is output in units of kilobytes.
This information is not output if the -XX:-PrintCodeCacheInfo option is specified.
cc_info
Maintenance information.
This information is not output if the -XX:-PrintCodeCacheInfo option is specified.
Log entry related to concurrent marking
id
VCM (Java VM log file identifier)
date
Start date and time of Concurrent Marking.
This information is not output if the -XX:-HitachiVerboseGCPrintDate option is specified.
cm_event
Status of Concurrent Marking.
-
Concurrent Root Region Scan Start
The Concurrent Root Region Scan started.
-
Concurrent Root Region Scan End
The Concurrent Root Region Scan ended.
-
Concurrent Mark Start
The Concurrent Mark started.
-
Concurrent Mark End
The Concurrent Mark ended.
-
Concurrent Mark Stop
The Concurrent Mark stopped.
-
Concurrent Cleanup Start
The Concurrent Cleanup started.
-
Concurrent Cleanup End
The Concurrent Cleanup ended.
user_cpu
Total CPU time that all GC threads spent in user mode. This information is output in units of seconds.
If acquisition of the CPU time fails, unknown is displayed, as in "[User: unknown]".
This information is not output if the -XX:-HitachiVerboseGCCpuTime option is specified.
If the status of the Concurrent Marking is Concurrent Mark Start, 0 is output.
sys_cpu
Total CPU time that all GC threads spent in kernel mode. This information is output in units of seconds.
If acquisition of the CPU time fails, unknown is displayed, as in "[Sys: unknown]".
This information is not output if the -XX:-HitachiVerboseGCCpuTime option is specified.
If the status of the Concurrent Marking is Concurrent Mark Start, 0 is output.
- #
-
The size is estimated by rounding up the area size to the size of one region, and represented as a multiple of the size of one region.
The GC factor numbers output to cause_info are as follows.
Cause number |
Cause content |
Description |
GC type |
|
---|---|---|---|---|
Other than G1GC |
G1GC |
|||
0 |
ObjAllocFail |
GC occurred because the object area could not be allocated. |
Y |
Y |
1 |
System.gc |
GC occurred because the java.lang.System.gc method was called. |
Y |
Y |
3 |
DelayedGC |
GC that was suspended by JNI or JVMTI was started. |
Y |
Y |
4 |
JavaGCCommand |
GC occurred due to the javagc command. |
Y |
Y |
6 |
JHeapProfCommand |
GC occurred due to the jheapprof command. |
Y |
N |
8 |
EMReclaimFail |
Because objects were moved to the Java heap due to explicit release of Explicit memory, the Java heap overflowed. |
Y |
N |
9 |
EMMigrateFail |
Because objects were moved to the Java heap due to automatic release of Explicit memory, the Java heap overflowed. |
Y |
N |
10 |
JVMTIForceGC |
GC occurred due to the JVMTI function ForceGarbageCollection(). |
Y |
Y |
11 |
PromotionFail |
GC occurred due to a CopyGC promotion failure. |
Y |
N |
12 |
EMJavaGCCommand |
GC occurred because an Explicit memory block was released by the javagc command. |
Y |
Y |
13 |
EHeapProfCommand |
GC occurred due to the eheapprof command. |
Y |
Y |
14 |
G1HumAllocFail |
When G1GC was used, GC occurred because a Humongous area was allocated. |
N |
Y |
15 |
G1EvacuationPause |
An evacuation occurred when G1GC was used. |
N |
Y |
16 |
Concurrent Marking |
No GC occurred but the Concurrent Marking processing, which stops and executes applications, was logged. |
N |
Y |
17 |
EvacuationFail |
When G1GC was used, GC occurred due to an evacuation failure. |
N |
Y |
18 |
MetaspaceAllocFail |
GC occurred because the Metaspace area could not be allocated. |
Y |
Y |
19 |
LastMetaspaceGC |
The last GC occurred before a Metaspace OutOfMemory error occurred. |
Y |
Y |
- Legend:
-
Y: Output.
N: Not output.
Syntax
-XX:[+|-]HitachiCommaVerboseGC
Specifiable values
Type: String
- -XX:+HitachiCommaVerboseGC
-
Outputs the extended verbosegc information delimited by commas, so that the information can be imported to a CSV format file.
All parentheses (), square brackets [], angle brackets <>, and colons (:) in the extended verbosegc information are deleted, and the resulting information in which values and character strings are delimited by commas (,) is output.
- -XX:-HitachiCommaVerboseGC
-
The extended verbosegc information is output in a normal format.
Examples
- Example of output 1
-
When SerialGC is used and the -XX:HitachiVerboseGCIntervalTime option is specified
VGC,Thu Oct 02 10:38:52.442 2014,1,0,0,Full GC,770,682,8064,0.0040002,88,0,2304, 0,0,256,681,682,5504,3634,3634,4492,3634,3634,4492,356,356,388,356,356,388,1,0. 0000000,0.0000000,11913,12448,0,22,0,0,1173,245760,2496
- Example of output 2
-
When SerialGC is used and the -XX:+HitachiVerboseGCPrintTenuringDistribution option is specified
PTD,Wed May 28 11:45:23 2008,5467547,30,31,1357527,1539661
- Example of output 3
-
When G1GC is used
-
GC-related log
VG1,Thu Oct 02 10:38:54.920 2014,Full GC,753,2048,8192,678,1024,8192,0.0064767, -,1024,2048,0,2048,0,0,1024,1024,0,0,6144,7168,3634,3634,4492,3634,3634,4492, 356,356,388,356,356,388,1,1024,0.2000000,0.0000000,0,0,0.00,0.0000000, 0.0000000,20459,21920,0,35,0,0,1171,245760,2496
-
Concurrent Marking related log
VCM,Fri Jul 26 21:35:50 2013,Concurrent Mark Start,0.0000000,0.0000000 VCM,Fri Jul 26 21:35:50 2013,Concurrent Mark End,0.0124532,0.0245698
-