Perf Impact of CMSClassUnloadingEnabled
Jon Masamitsu
jon.masamitsu at oracle.com
Tue Nov 8 15:58:51 UTC 2011
Andreas,
Hotspot maintains a list of classes that are loaded in the
Dictionary (dictionary.hpp/cpp). This list does not keep
classes alive. After marking (when we know what classes
are dead), we walk the list and remove dead classes.
Hotspot does not keep information that says classes have
not been unloaded, so the list is always walked.
Jon
On 11/07/11 10:33, Andreas Loew wrote:
> Hi Jon,
>
> sorry, a follow-up question from my side: As it shouldn't be the most
> normal thing even for a Java EE app to constantly dereference
> classloaders or single classes that need to be GC'ed:
>
> In how far does your statement about increased remark pauses still
> apply in case the PermGen / set of loaded classes has stayed
> completely constant between initial mark and remark (which should be
> the usual case)?
>
> And wouldn't there a also be a distinction between PermGen and Old Gen?
>
> Many thanks & best regards,
>
> Andreas
>
> --
> Andreas Loew
> Senior Java Architect
> Oracle Advanced Customer Services Germany
>
>
> Am 07.11.2011 16:44, schrieb Jon Masamitsu:
>> Doing class unloading with CMS will often increase the remark pause
>> times
>> and so is not on by default.
>>
>> On 11/5/2011 3:29 PM, Martin Hare Robertson wrote:
>>> Hi,
>>>
>>> I recently encountered an interesting GC issue with a Tomcat
>>> application. I
>>> came up with a simple repro scenario which I posted to StackOverflow:
>>> http://stackoverflow.com/questions/8017193/when-does-the-perm-gen-get-collected
>>>
>>>
>>> To solve this issue I have been encouraged to use
>>> -XX:+CMSClassUnloadingEnabled.
>>> I currently use the following GC configuration.
>>>
>>> -XX:+UseMembar
>>> -XX:+UseConcMarkSweepGC
>>> -XX:+UseParNewGC
>>> -XX:CMSInitiatingOccupancyFraction=80
>>> -XX:+UseCMSInitiatingOccupancyOnly
>>>
>>> Is enabling CMSClassUnloadingEnabled likely to have a negative perf
>>> impact?
>>> If not, why is it disabled by default?
>>>
>>> Thanks
>>>
>>> Martin
_______________________________________________
hotspot-gc-use mailing list
hotspot-gc-use at openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use
More information about the hotspot-gc-dev
mailing list