JVM Garbage Collection

Tuning garbage collection requires good understanding of garbage collection frequency, message size, and longevity, young, tenured, and perm.

Many JVMs have different levels of algorithms to suit application requirements. Hence, it is very difficult to provide general recommendations.

The option AggressiveHeap affects the memory mapping between the JVM and operating system, and the option ParallelGC allocates multiple threads to part of the garbage collection system.

Note: The client should try to experiment with these options, but the results are not deterministic. It can be argued that a multi-process system of four to twelve CPUs, using ParallelGC can produce better results.

We recomend that the application should not make direct explicit garbage collection. If the application does make a call to explicit garbage collection, to disable it, use verbose:gc -XX:+DisableExplicitGC command. These properties can be appended to the BW_JAVA_OPTS variable.