by Lew <lew@[EMAIL PROTECTED]
>
Mar 3, 2007 at 09:21 AM
Joshua Cranmer wrote:
> M wrote:
>> I have a Java service that appears to ignore the
>> XX:CMSInitiatingOccupancyFraction flag completely. Here're the GC
>> related settings:
>>
>> -XX:+PrintGCDetails
>> -XX:+PrintGCTimeStamps
>> -XX:+PrintTenuringDistribution
>> -XX:+UseConcMarkSweepGC
>> -XX:+CMSIncrementalMode
>> -XX:CMSInitiatingOccupancyFraction=50
>> -XX:+UseCMSInitiatingOccupancyOnly
>> -Xmx2048m -Xms2048m
>> -XX:NewSize=100m
>> -XX:MaxNewSize=100m
>>
>> Despite setting CMSInitiatingOccupancyFraction to 50% and setting
>> UseCMSInitiatingOccupancyOnly to true, the CMS collector continues to
>> wait until the tenured generation grows *way* above 50% before it
>> kicks in.
>>
>> The reason for 50% threshold is this app being very sensitive to
>> pauses and I want to avoid pause if at all possible, at the expense of
>> memory and CPU. However because CMS doesn't start early as it should
>> (should start at 50% tenured occupancy), I occasionally get YJ
>> promotions failures and results a STW collection pause, probably due
>> to fragmentation.
>>
>> This is JRE1.6.0 on Linux. What's going on??
>>
>
> This is a virtual machine question, and so belongs on c.l.j.machine.
It fits just fine here and I would like to know the answer, too.
-- Lew