-
Bug
-
Resolution: Fixed
-
P3
-
hs25
-
b04
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8000705 | 8 | Jon Masamitsu | P3 | Resolved | Fixed | b60 |
When running a simple app that just loads classes and throws away the class loader the VM invokes a VM_CollectForMetadataAllocation when the metadata usage has increased over a threshold.
If I'm running with CMS and without setting +CMSClassUnloadingEnabled then the CMS cycles that the VM operation triggers to not result in any classes being unloaded.
Before NPG this was "solved" by the VM doing a full gc (serial mark sweep) when perm gen was full but currently if +CMSClassUnloadingEnabled is not set then CMS will never be able to unload classes (unless you call System.gc())
If I'm running with CMS and without setting +CMSClassUnloadingEnabled then the CMS cycles that the VM operation triggers to not result in any classes being unloaded.
Before NPG this was "solved" by the VM doing a full gc (serial mark sweep) when perm gen was full but currently if +CMSClassUnloadingEnabled is not set then CMS will never be able to unload classes (unless you call System.gc())
- backported by
-
JDK-8000705 NPG: VM Does not unload classes with UseConcMarkSweepGC
-
- Resolved
-
- duplicates
-
JDK-7167301 CMS: invoke concurrent collection for metadata collection
-
- Closed
-