Avoiding 1 long CMS with a big heap

Jon Masamitsu jon.masamitsu at oracle.com
Wed Apr 14 14:58:18 PDT 2010


On 04/14/10 14:15, Matt Khan wrote:
> .
...

>
>
> I still don't understand *why* the 2nd initial mark happened. I 
> thought CMS was only triggered once the occupation passed the 
> threshold (IIRC this is 50% by default), since occupation was actually 
> more like 10% or so then why did it even feel the need to do anything 
> at all?
>

CMS tries to project how early to start a cycle based on past
behavior.  When there hasn't been much data gathered about
collections, the projection can just be wrong.

> >> If you add -XX:+CMSScavengeBeforeRemark it will schedule a ParNew 
> collection before the remark.
> slightly naive Q.... why isn't this default behaviour? is it because a 
> "normal" heap has a bigger tenured than eden hence the cost isn't 
> skewed in the way I have it configured?

That would put a young gen collection and a remark back-to-back and users
see it as a single longer pause.  We work to keep space between those two
pauses.
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20100414/dd4d0116/attachment.html 
-------------- next part --------------
_______________________________________________
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