CMS collection keep working during holiday dragonken at
Thu Oct 9 06:24:10 UTC 2008

I have added XX: SoftRefLRUPolicyMSPerMB=0 and the result is the same. :-(

VM optoins:\java.policy -Xms1536M -Xmx1536M
-XX:NewSize=256M -XX:+PrintGCDetails -XX:+PrintGCTaskTimeStamps
-XX:+PrintHeapAtGC -Xloggc:gc.log -XX:+PrintReferenceGC
-XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC
-XX:SurvivorRatio=4 -XX:CMSInitiatingOccupancyFraction=55
-XX:TargetSurvivorRatio=90 -XX:SoftRefLRUPolicyMSPerMB=0 

I have adjusted the XX:CMSInitiatingOccupancyFraction to 55 this time. 

Please ignore the last full gc in the chart. The full gc is triggered by
jmap -histo:live. gc.log 

Jon Masamitsu wrote:
> Ken,
> One of the differences between the CMS concurrent
> collection of the old gen and a full collection
> (concurrent mode fail) is the way SoftReferences
> are processed when the heap is full of live data.
> A full collection will clear all SoftReferences
> before it throws an out-of-memory.  If a full
> collection is done and the heap is still full
> of live data, a full collection will clear all
> SoftReferences.  When CMS does a concurrent
> collection and the heap is still full, a
> concurrent mode failure occurs resulting in
> a full collection.  And as with full collections,
> all the SoftReferences will be cleared if
> necessary.  If you set -XX: SoftRefLRUPolicyMSPerMB=0
> SoftReferences will be cleared promptly and should
> tell us if we're encountering this difference in
> the way SoftReferences are handled.
> Jon

View this message in context:
Sent from the OpenJDK Hotspot Garbage Collection mailing list archive at

More information about the hotspot-gc-dev mailing list