<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
On 04/14/10 14:15, Matt Khan wrote:
<blockquote
 cite="mid:OF4B34409F.E11FAA9E-ON80257705.0072008C-80257705.0074C5BE@db.com"
 type="cite">.<br>
</blockquote>
...<br>
<br>
<blockquote
 cite="mid:OF4B34409F.E11FAA9E-ON80257705.0072008C-80257705.0074C5BE@db.com"
 type="cite"><br>
  <br>
  <tt><font size="2">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?</font></tt>
  <br>
  <br>
</blockquote>
<br>
CMS tries to project how early to start a cycle based on past<br>
behavior.  When there hasn't been much data gathered about<br>
collections, the projection can just be wrong.<br>
<br>
<blockquote
 cite="mid:OF4B34409F.E11FAA9E-ON80257705.0072008C-80257705.0074C5BE@db.com"
 type="cite"><tt><font size="2">>> If you add
-XX:+CMSScavengeBeforeRemark it
will schedule a ParNew collection before the remark.</font></tt>
  <br>
  <tt><font size="2">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?</font></tt>
  <br>
</blockquote>
<br>
That would put a young gen collection and a remark back-to-back and
users<br>
see it as a single longer pause.  We work to keep space between those
two<br>
pauses.<br>
<blockquote
 cite="mid:OF4B34409F.E11FAA9E-ON80257705.0072008C-80257705.0074C5BE@db.com"
 type="cite"><br>
  <tt><font size="2"></font></tt></blockquote>
<br>
</body>
</html>