Hitachi

uCosminexus Application Server Maintenance and Migration Guide


5.7.2 Acquiring the extended verbosegc information

In the J2EE server usrconf.cfg file, if you specify the options shown in the table below, you can acquire extended verbosegc information. From the extended verbosegc information, you can acquire the information for estimating the Java heap area size, Metaspace area size, required for that server. Note that the stack trace at OutOfMemoryError occurrence time is also output in the Java log.

Table 5‒23: Options to be specified for acquiring the extended verbosegc information

Optional

Meaning

-XX:+HitachiVerboseGC

Specify whether to output the extended verbosegc information. The information is output for each type of GC's internal areas: Eden, Survivor, Tenured, and Metaspace areas. Nothing is output by default. If -XX:+HitachiVerboseGC is specified, the extended verbosegc information is output and if -XX:-HitachiVerboseGC is specified, the extended verbosegc information is not output.

-XX:+HitachiVerboseGCPrintDate

Specify whether to display the date of log output at the beginning of each line of the log in which the extended verbosegc information is output.

-XX:+HitachiVerboseGCCpuTime

During the period between the start of GC until the end of GC, specify whether only the time spent in user mode and kernel mode by the GC execution thread should be displayed or the execution time should be displayed.

-XX:HitachiVerboseGCIntervalTime=Time-interval

Specify a numeric value (Unit: Seconds) as an output time interval for -XX:+HitachiVerboseGC. The default value for the time interval is 0 (Output every time GC occurs). Note that when you specify the time interval, the GC frequency during that time interval is also displayed.

-XX:+HitachiVerboseGCPrintCause

Specify whether to display the cause for the occurrence of GC in the log in which the extended verbosegc information is output.

-XX:+HitachiCommaVerboseGC

Specify whether the log in which the extended verbosegc information is output should be in CSV format. If the log is output in the CSV format, all the brackets (( ) [ ] < >) and delimiters of the extended verbosegc information are omitted, and the numeric values or character strings delimited by comma (,) are output.

-XX:+HitachiVerboseGCPrintTenuringDistribution

Specify whether to output Tenuring Distribution information of Survivor area. Nothing is output by default. For output format or output information, see 9.11 Tenuring distribution information output functionality of the Survivor area.

-XX:+HitachiVerboseGCPrintJVMInternalMemory

Specify whether the heap information managed in JavaVM is output to the JavaVM log file.

-XX:+HitachiVerboseGCPrintThreadCount

Specify whether the Java thread count is output to the JavaVM log file to monitor the Java thread count.

-XX:+HitachiVerboseGCPrintDeleteOnExit

Specify whether the cumulative heap size allocated by JavaVM by invoking java.io.File.deleteOnExit()and the frequency of method invocation are output to the JavaVM log file.

-XX:+PrintCodeCacheInfo

Specify whether to output the usage of the code cache area, and also whether to output a message informing the user that the usage has reached the threshold value.

The format and the example of the log file output are as follows:

Output format
[id]<date>(Skip Full:full_count, Copy:copy_count)[gc_kind gc_info, gc_time secs][DefNew::Eden: eden_info][DefNew::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]

Description

  • id: JavaVM log file identifier

    The following table describes the JavaVM log file identifiers. Use these identifiers for investigation by filtering log as per log contents (functions).

    Table 5‒24: JavaVM log file identifiers

    Identifiers

    Log contents

    CCI

    Code cache area information

    CLT

    Stack trace of class library

    JCC

    Information on the failure of JIT compilation

    JMS

    Information on the JIT complier thread that prevents JIT compilation

    OMH

    Information on the frequency of OutOfMemory occurrences

    OOM

    Exception information when OutOfMemoryError occurs and stack trace

    PTD

    Tenuring distribution information of Survivor area

    VGC

    Extended verbosegc information

  • date: Date and time

  • full_count: Frequency of skipping Full GC (Only when you specify -XX:HitachiVerboseGCIntervalTime)

  • copy_count: Frequency of skipping copy GC (Only when you specify -XX:HitachiVerboseGCIntervalTime)

  • gc_kind: GC type (Full GC or GC)

  • gc_info: GC information (Area length prior to GC-> Area length after GC (Area size))

    (Example) 264K->0K(512K)

  • gc_time: GC elapsed time (Unit: Seconds)

  • eden_info: Eden information

  • survivor_info: Survivor information

  • tenured_info: Tenured information

  • metaspace_info: Metaspace area information

  • class_space_info: CompressedClassSpace information

  • cause_info: Cause of GC

  • user_cpu secs: CPU time spent in user mode by the GC thread (Unit: Seconds)

  • system_cpu secs: CPU time spent in kernel mode by the GC thread. (Unit: Seconds)

  • jvm_alloc_size: The size of the area currently in use, among the areas managed in JavaVM (size of the area currently in use among the total size of mmap_total_size and malloc_total_size) (only when -XX:+HitachiVerboseGCPrintJVMInternalMemory is specified)

  • mmap_total_size: The total size of C heap allocated by mmap (in Windows VirtualAlloc) , among the areas managed in JavaV (only when -XX:+HitachiVerboseGCPrintJVMInternalMemory is specified)

  • malloc_total_size: The total size of C heap allocated by malloc, among the areas managed in JavaVM (only when -XX:+HitachiVerboseGCPrintJVMInternalMemory is specified)

  • thread_count: Java thread count (only when -XX:+HitachiVerboseGCPrintThreadCount is specified)

  • doe_alloc_size: The accumulated heap size allocated by invoking java.io.File.deleteOnExit() (only when -XX:+HitachiVerboseGCPrintDeleteOnExit is specified)

  • called_count: The number of times java.io.File.deleteOnExit() is invoked (only when -XX:+HitachiVerboseGCPrintDeleteOnExit is specified)

  • cc_used_size: Size of the code cache area used during GC (unit: kilobyte) (only when -XX:+PrintCodeCacheInfo is specified)

  • cc_max_size: Maximum size of the code cache area (unit: kilobyte) (only when -XX:+PrintCodeCacheInfo is specified)

  • cc_info: Maintenance information (only when -XX:+PrintCodeCacheInfo is specified)

Example of output

Examples of output when the -XX:+HitachiCommaVerboseGC option is specified are as follows:

VGC,Fri Jan 23 21:37:50 2004,11,41,0,GC,16886,16886,65088,0.0559806,
4094,0,4096,447,447,448,12345,16439,60544,1116,1116,4096,0,0.0312500, 0.0156250,729,928,0,509,2167,2054,2301,49152,2304
VGC,Fri Jan 23 21:37:55 2004,6,24,0,Full GC,65082,65082,65088,0.4294532,
4094,4094,4096,447,447,448,60541,60541,60544,1116,1116,4096,0,0.0156250, 0.0312500,729,928,0,509,16,170,2301,49152,2304