- 2 minutes to read

JMX, FAQ, Troubleshooting, Common Questions JMX, FAQ, troubleshooting, common questions 7. What garbage collectors are supported?

7. What garbage collectors are supported?

7. What garbage collectors are supported?

All standard Java garbage collectors supported (JMX MBeans consistent across GC types):

Serial GC (-XX:+UseSerialGC):

  • Single-threaded GC, suitable for small apps (<100 MB heap), dev/testing only
  • MBeans: Copy (Young Gen), MarkSweepCompact (Old Gen)

Parallel GC (-XX:+UseParallelGC, default Java 8):

  • Multi-threaded GC, suitable for throughput-focused apps, batch processing
  • MBeans: PS Scavenge (Young Gen), PS MarkSweep (Old Gen)

CMS - Concurrent Mark Sweep (-XX:+UseConcMarkSweepGC, deprecated Java 9+):

  • Low-latency GC, minimizes pause times, suitable for real-time apps
  • MBeans: ParNew (Young Gen), ConcurrentMarkSweep (Old Gen)

G1 - Garbage First (-XX:+UseG1GC, default Java 9+):

  • Balanced GC (throughput + low latency), suitable for large heaps (>4 GB), most Spring Boot apps
  • MBeans: G1 Young Generation, G1 Old Generation
  • Recommended for Boomi Atoms (handles variable message sizes well, predictable pause times)

ZGC - Z Garbage Collector (-XX:+UseZGC, Java 11+):

  • Ultra-low latency GC (<10ms pauses), suitable for very large heaps (100 GB+), requires Java 11+
  • MBeans: ZGC Pauses, ZGC Cycles

Shenandoah (-XX:+UseShenandoahGC, Java 12+):

  • Low-latency GC similar to ZGC, suitable for large heaps, requires Java 12+

Nodinite monitoring: Automatically detects GC type via MBean names, displays GC-specific metrics (Young Gen collections for G1, Full GC frequency for CMS, pause times for ZGC). Threshold configuration generic (collections/minute, pause time milliseconds) works across all GC types.


See all FAQs: [Troubleshooting Overview][]