JDK-8000325 : Change default for CMSClassUnloadingEnabled to true
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2012-10-02
  • Updated: 2017-05-17
  • Resolved: 2013-01-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8 Other
8Fixed hs25Fixed
Description
Having class unloading off by default for CMS has been causing perm gen 
out-of-memory exceptions.  It is often a surprise to users.  It was originally set
to off to reduce the remark pause time.  With removal of perm gen the 
result of not doing class unloading for CMS can be the consumption of
unreasonable amounts of native memory.  Also with the remark phase being
done in parallel know, there is less benefit to having it off.
Comments
For the release notes. By default the UseConcMarkSweepGC (-XX:+UseConcMarkSweepGC) garbage collector will unload classes by default. This may increases the remark pause time. -XX:-CMSClassUnloadingEnabled will revert to the prior default behavior.
15-01-2013

Please see Description.
09-10-2012