Garbage Collection
Other policies – Garbage Collection
OpenJ9 has the following alternative GC policies:
-Xgcpolicy:balanced
divides the Java heap into regions, which are individually managed to reduce the maximum pause time on large heaps and increase the efficiency of garbage collection. The aim of the policy is to avoid global collections by matching object allocation and survival rates. If you have problems with application pause times that are caused by global garbage collections, particularly compactions, this policy might improve application performance, particularly on large systems that have Non-Uniform Memory Architecture (NUMA) characteristics (x86 and POWER platforms).-Xgcpolicy:metronome
is designed for applications that require precise response times. Garbage collection occurs in small interruptible steps to avoid stop-the-world pauses. This policy is available only on x86 Linux and AIX platforms.-Xgcpolicy:nogc
handles only memory allocation and heap expansion, but doesn’t reclaim any memory. The GC impact on runtime performance is therefore minimized, but if the available Java heap becomes exhausted, anOutOfMemoryError
exception is triggered and the VM stops.-Xgcpolicy:optavgpause
uses concurrent mark and sweep phases, which means that pause times are reduced when compared to optthruput, but at the expense of some performance throughput.-Xgcpolicy:optthruput
is optimized for throughput by disabling the concurrent mark phase, which means that applications will stop for long pauses while garbage collection takes place. You might consider using this policy when high application throughput, rather than short garbage collection pauses, is the main performance goal.
Pages: 1 2