JDK-6868071 : CMS: reduce perm heap bloat on account of 4957990
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 7
  • Priority: P4
  • Status: Closed
  • Resolution: Won't Fix
  • OS: generic
  • CPU: generic
  • Submitted: 2009-08-04
  • Updated: 2014-04-08
  • Resolved: 2013-03-06
Related Reports
Relates :  
Relates :  
Note that the fix for 4957990 will fix the perm heap bloat whenever
a stop world collection is done.

This bug will address the same question in the context of
concurrent class unloading by CMS. This part of the work is
being split off into a separate CR to expedite the integration
of the fix for 4957990 for other collectors without holding them
hostage to the concurrent class unloading in CMS.

See 4957990 for a test case and other analysis.

The PermGen has been removed and I've been able to run the reproducer in JDK-4957990 with CMS and I don't get any OOMEs with build JDK8-b77. I tried the exact same test with JDK8-b57 (contains the PermGen), and I get OOMEs with both CMS and ParallelOld.

EVALUATION Note that with CMS the "bloat" is collected whenever a stop-world collection happens (for example on a concurrent mode failure). This CR will allow that "bloat" to be collected at each concurrent collection.