Parallel Collector GC Log Message Format

This section describes the GC log message format of HotSpot JVM Parallel Collector.

Before doing any testing with the Parallel Collector, let's look at log messages generated by the Parallel Collector first:

herong> \progra~1\java\jdk1.8.0\bin\java -Xms2m -Xmx64m -XX:+UseParallelGC \
   -XX:+PrintGCDetails GarbageCollection

Step/TotalMemory/FreeMemory/UsedMemory:
   [GC (Allocation Failure)
      [PSYoungGen: 450K->248K(768K)]
      1218K->1104K(1792K),
      0.0035187 secs]

   -- Minor GC.
      PSYoungGen stands for Parallel Scavenge Young Generation

1   1835008   472000   1363008
   [GC (Allocation Failure)
      [PSYoungGen: 731K->240K(768K)]
      2099K->2068K(2816K),
      0.0039119 secs]


   [Full GC (Ergonomics)
      [PSYoungGen: 240K->0K(768K)]
      [ParOldGen: 1828K->2037K(3840K)]
      2068K->2037K(4608K),
      [Metaspace: 44K->44K(4480K)],
      0.0642066 secs]
   [Times: user=0.05 sys=0.00, real=0.07 secs]
   -- Full GC, because it worked on Young and Tenured generations
      ParOldGen stands for Parallel Old Generation

2   4718592   2347656   2370936

...
Heap
 PSYoungGen      total 14592K, used 2379K [0x068c0000, 0x07e00000...
  eden space 7424K, 32% used [0x068c0000,0x06b12eb0,0x07000000)
  from space 7168K, 0% used [0x07700000,0x07700000,0x07e00000)
  to   space 7168K, 0% used [0x07000000,0x07000000,0x07700000)
 ParOldGen       total 43776K, used 32474K [0x03e00000, 0x068c000...
  object space 43776K, 74% used [0x03e00000,0x05db6a80,0x068c0000)
 Metaspace used 45K, capacity 2242K, committed 2368K, reserved 4480K

As you can see, the Parallel Collector log message format is identical to the Serial Collector, except that different GC algorithms are used:

Table of Contents

 About This Book

 Heap Memory Area and Size Control

 JVM Garbage Collection Logging

 Introduction of Garbage Collectors

 Serial Collector - "+XX:+UseSerialGC"

Parallel Collector - "+XX:+UseParallelGC"

 What Is Parallel Collector

Parallel Collector GC Log Message Format

 "-XX:+PrintGCTaskTimeStamps" - Print GC Threads

 "-XX:ParallelGCThreads=n" - # of Threads

 Parallel Collector Stops Application for Minor/Major GC

 PSYoungGen Collector Using Tenuring Age

 Parallel Collector Changing NewRatio and SurvivorRatio

 Parallel Collector Adaptive Size Policy

 Adaptive Size Policy Log Messages

 "-XX:+PrintAdaptiveSizePolicy" - Minor GC Report

 Adaptive Size Policy Changed Survivor Space

 Adaptive Size Policy Changed Eden Space

 Adaptive Size Policy for Best Latency

 Adaptive Size Policy for Best Throughput

 Concurrent Mark-Sweep (CMS) Collector - "+XX:+UseConcMarkSweepGC"

 Garbage First (G1) Collector - "+XX:+UseG1GC"

 Object References and Garbage Collection

 Garbage Collection Performance Test Program

 Performance Tests on Serial Collector

 Performance Tests on Parallel collector

 Performance Tests on Concurrent collector

 Performance Tests on G1 collector

 Garbage Collection Performance Test Summary

 Archived Tutorials

 References

 Full Version in PDF/EPUB