Discouraging CMS Due To Fragmentation

Highley, Ryan Ryan.Highley at sabre-holdings.com
Fri Mar 12 16:52:43 UTC 2010

Hello all,


My company has a cache-based application using a well-known Java memory
clustering framework for handling the usual failover and load balancing
concerns ensuring cache state is maintained when losing a node or two.


Naturally, application garbage collector choice has been explored during
conversations with the support staff for this framework.  The
framework's support staff has insisted any application using their
framework should use the ParallelOld collector due to issues regarding
using CMS and its inherent memory fragmentation.  The latest exchange is
below with my questions first and the response following.  The
framework's name has been removed.


Questions:  Are there specific outstanding reported Sun JVM CMS bugs
that are the basis for the requirement to use ParallelOld?  If so, what
are they, as other applications may also be subject to the same issue?
If not, what is so fundamentally different about <product>'s memory
usage and garbage collector interactions that makes CMS a bad choice?


>From <product>:   This is not <product> specific but in Java in general.
Sun itself recommends staying away from CMS if possible due to possible
fragmentation issues. In other words, with CMS you are just delaying the
problem and will possibly hit a very long pauseful collection at some


In my now several years of reading Sun GC white papers, tuning guides,
articles, blog posts, messages threads (here and elsewhere), and the
like, I have never heard any assertion from Sun discouraging CMS use
altogether simply due to the memory fragmentation inherent to CMS'
design.  Everything I have seen, and everything we have implemented
successfully tuning several other applications, has shown with CMS
memory fragmentation is a concern to be managed through proper promotion
tuning, heap sizing and shaping, and setting a reasonable CMS initiating
occupancy fraction to be fairly certain a promotion failure is at best
extremely unlikely.


However that nagging possibility that I've missed something along the
way still exists.


Can I please get a definitive response from one (or more) of the Sun
garbage collection software engineers on this list in this matter?


Thank you for your attention,




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20100312/10954662/attachment.htm>
-------------- next part --------------
hotspot-gc-use mailing list
hotspot-gc-use at openjdk.java.net

More information about the hotspot-gc-dev mailing list