<!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">
Kirk,<br>
<br>
Just checked and the default values of MinHeapFreeRatio<br>
results in an initiating occupancy of 92% so that answers that<br>
(see ConcurrentMarkSweepGeneration::init_initiating_occupancy()).<br>
<br>
Hopefully not to get too boring but I think the problem has to<br>
do with a partially initialized object. I've seen other parts of<br>
the collector run into such objects but this may be a new<br>
one. Have to consult about this.<br>
<br>
Jon<br>
<br>
PS. Don't think it is the mix of objects. More likely a<br>
timing issue plus some circumstance we have not run<br>
into before.<br>
<br>
On 3/2/2011 11:31 AM, Charles K Pepperdine wrote:
<blockquote
cite="mid:D134B52F-CE84-4E58-9604-6948B5A96D91@kodewerk.com"
type="cite">Hi Jon,
<div><br>
</div>
<div>Thats a relief, I though I was going to have to rework a
section of slides!</div>
<div><br>
</div>
<div>So, it seems like an unexpected glut of objects were promoted
and the cms-abortable-preclean wasn't able to get rid of
anything grey. Could it be that fragmentation was bad enough and
free space was low enough to make compaction difficult if not
impossible? Certainly enough free space to avoid OOME. How would
one simulate that? Maps of Maps of Maps of Maps ad nasium with
holes punched into them containing randomly sized data?</div>
<div><br>
</div>
<div>TIA,</div>
<div>Kirk</div>
<div><br>
</div>
<div>PS not to figure out why I'm half subscribed...</div>
<div><br>
</div>
<div>
<div>On Mar 2, 2011, at 7:45 PM, Jon Masamitsu wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div bgcolor="#ffffff" text="#000000"> Kirk, you're right!
The MinFreeRatio and MaxFreeRatio do result in an<br>
initiating occupancy as you describe. Does seem like a
concurrent<br>
collection should have started. <br>
<br>
<br>
On 3/1/2011 9:06 PM, Charles K Pepperdine wrote:
<blockquote
cite="mid:C261E979-D033-4739-8BAA-3E8A6C34E623@kodewerk.com"
type="cite">
<div>Hi Jon,</div>
<div><br>
</div>
<div><br>
<blockquote type="cite">
<div text="#000000" bgcolor="#ffffff">
<blockquote
cite="mid:919F96FA-E09E-47BA-819C-0DFF2D9CF5F9@kodewerk.com"
type="cite">
<div><br>
</div>
<br>
</blockquote>
I don't see CMSInitiatingOccupancyFraction on the
command line.<br>
<h4>-Xmx896m -Xss128k -XX:NewSize=384M
-XX:MaxPermSize=96m -XX:+UseParNewGC
-XX:+UseConcMarkSweepGC</h4>
so CMS isn't using occupancy of the tenured gen to
start a cycle. That is the<br>
default behavior.<br>
</div>
</blockquote>
</div>
<div><br>
</div>
<div>Ok, I'm trying to understand what you are saying. It
was my understanding that CMS is initiated when tenured
reaches a value of 68% = current occupancy + the
anticipated promotions. So are you saying that setting
the initiating occupancy fraction doesn't override that
value, it completely changes how CMS is triggered? Is
the flag UseCMSInitiatingOccupancyOnly only valid when
you use CMSInitiatingOccupancyFraction or does that flag
also use anticipated promotions as part of it's
calculation?</div>
<div><br>
</div>
<div>TIA,</div>
<div>Kirk</div>
</blockquote>
</div>
</blockquote>
</div>
<br>
</blockquote>
</body>
</html>