Hitachi

Hitachi Application Server V10 Definition Reference Guide (For UNIX® Systems)


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.

Table 7‒3: List of GC causes

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.

Default value

If the definition item is omitted:

-XX:-HitachiCommaVerboseGC

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