Perf Impact of CMSClassUnloadingEnabled

Andreas Loew Andreas.Loew at oracle.com
Mon Nov 7 10:33:17 PST 2011


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


More information about the hotspot-gc-use mailing list