G1 Full GC for no apparent reason
Environment
- Oracle JDK 7, update 75
Issue
- The old space slowly fills up and space is only reclaimed with the G1 Full GC serial (single-threaded) collector.
- Old space is not able to be reclaimed by mixed collections, but a G1 Full GC serial collection is able to reclaim a large amount of space.
- Setting
-XX:InitiatingHeapOccupancyPercent=0to start the next concurrent mark after the current one completes has no effect.
Resolution
Test on the latest JDK8.
Root Cause
This may be related to one of the following bugs fixed in JDK8:
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6976350
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8030849
Diagnostic Steps
Analyze the GC logging and see if the old occupancy slowly rises over time, leading to a G1 Full GC that reclaims a large amount of space.
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
