Fragmentation and UseCMSInitiatingOccupancyOnly

Bernd Eckenfels bernd-2014 at eckenfels.net
Wed Jan 22 13:04:07 PST 2014


Hello Gustav,

first of all, I noticed you are talking about a 512mb heap. Can you maybe  
elaborate what hardware that is, and what pause times you see and expect?  
Whats your newsize? Are setting Xmx/Xms to same values? With parold and  
smaller heaps having a smaller initial size will reduce pause times even  
more.

I would expect that in most common scenarios ParallelOld is much more  
reliable (no concurrent mode risk falling back to serial gc;  
defragmenting), easy to tune (consistent behaviour). And the pause times  
should be comparable to your young collections (and certainly much smaller  
than full non-paralle collections).


But, back to your question, I am not so familiar with the AdaptiveSizing  
and FreeList code, but the rest of CMS does not seem to care about  
freechunks vs. fragmentation when considering free memory. Maybe somebody  
else can comment on that.

BTW: I think you can use a larger (more than default 10%) safty margin  
instead of using a lower Occupancy setting if you want to keep the dynamic  
adjustment property but not want to risk concurrent mode failures.



Am 22.01.2014, 20:37 Uhr, schrieb Gustav Åkesson  
<gustav.r.akesson at gmail.com>:

> Not sure I understand the answer - in case the flag is disabled, is  
> little contiguous free space (i.e. fragmentation) in oldgen a variable 


More information about the hotspot-gc-use mailing list