Implementation of garbage collector types

The available garbage collectors in NSJ are as follows:
  • Serial collector (default collector for young and tenured generations)

  • Parallel collector

  • G1GC

  • Parallel compacting collector

  • Concurrent Mark-Sweep collector (or Concurrent low-pause collector)

    NOTE:

    CMS GC is deprecated in NSJ 11.

WARNING:

When PUT_PROTECTED_STACK_DISABLE is set, the behavior of all implementation of Garbage Collector types is undefined except Serial Collector.

Table 6: Summary of garbage collector implementations

Collector Type

Implementation Status

Serial collector

Default collector for the young and tenured generation

Parallel collector

Allowed

Concurrent Low-Pause collector

Allowed

The Parallel, G1, and CMS garbage collectors provide reduced application pause time during GC when compared to Serial GC.

In NSJ, when the parallel, G1, or CMS GC is enabled using command line option, one process is launched for each GC thread. The Java and corresponding javahelper process are called as process group and they perform the following:
  • Run on a same logical processor.

  • Run simultaneously on different IPU(s) of the same processor.

  • Provide a single process image to the Java application.

  • Share the virtual address space.

  • Communicate among themselves using Guardian IPC mechanism.

  • Create javahelper processes.

In Java process group, whenever a process terminates, the other processes in the group also terminate. For more information, see javahelper.