Avoiding 1 long CMS with a big heap
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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-gc-use