CMS does not want to run concurrently

Jon Masamitsu Jon.Masamitsu at Sun.COM
Wed Dec 17 11:40:42 PST 2008



On 12/17/08 09:44, Michael Bien wrote:
> Hello Jon,
> 
> it depends, sometimes there are only 5 seconds between two full GCs 
> sometimes 30 or one minute - the interesting thing is that the overall 
> stop time is similar in both cases. But there are almost no concurrent 
> collections in the log.

Can you send a more complete log?

> 
> "Full GC ...: [CMS:..."  means the fallback serial collector is used 
> instead of the concurrent one is that correct?

Yes.

> 
> I've read somewhere that CMS on 1.5 does not use the surviver spaces, 
> maybe this is the reason why i get this frequency of old gen sweeps? 
> (but this still does not explain why there is no concurrent gc running 
> most of the time)

The default parameters for the survivor space and the tenuring
threshold do effectively preclude the use of the survivor
spaces by CMS.  This would make the old generation fill more
quickly but you seem to have plenty of room in the heap
when the Full GC's happen.

 >>> 21380.330: [Full GC 21380.330: [CMS: 323173K->322000K(659140K),
 >>> 4.6004591 secs] 325384K->322000K(687748K), [CMS Perm :
 >>> 46865K->46863K(65536K)], 4.6007203 secs]

Here in the CMS gen (old generation) it is only 325384K full (out of
a total of 659140K) when the collection starts.  Actually, you might
have a severely fragmented heap.  In that case Full GC's would happen
and using the survivor spaces would help.

Try

-XX:MaxTenuringThreshold=15 -XX:SurvivorRatio=8

Also use a larger young gen.

-XX:NewSize=72m -XX:MaxNewSize=256m

> 
> -michael
> 
> 
> Jon Masamitsu schrieb:
>> Michael,
>>
>> In the later hours are the Full GC's occurring at
>> regular intervals?  In the snippet you sent it
>> looks like the Full GC's are 5 seconds apart.
>>
>> Jon
>>
>> On 12/17/08 05:39, mbien at fh-landshut.de wrote:
>>> Hello,
>>>
>>> i tried to reduce full stops of an application running on JBoss by  
>>> using the CMS on an 8 core system which is mostly idle. I thought it  
>>> would be easy since the processing power is almost unused - it seems  
>>> not ;)
>>>
>>> I start JBoss (on 1.5u8, windows 2003) with
>>> -server -Xms256m -Xmx800m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC  
>>> -XX:ParallelGCThreads=7
>>>
>>> The used heap is between 300MB and 600MB after a few hours most of 
>>> the  time. The strange thing is that the CMS keeps triggering full  
>>> collections (it even starts with full collections).
>>>
>>> The other thing I don't understand is that the stops take around 5-8  
>>> seconds which is from my experience far to high for those small heap  
>>> sizes (correct me if i am wrong here).
>>>
>>> any hints what could be wrong with this configuration?
>>>
>>> regards,
>>>
>>> michael
>>>
>>>
>>> application start:
>>> 5.942: [GC 5.942: [ParNew: 16256K->0K(16320K), 0.0308416 secs]  
>>> 16256K->1415K(262080K), 0.0311875 secs]
>>> 8.352: [GC 8.353: [ParNew: 16320K->0K(16384K), 0.0407896 secs]  
>>> 17735K->3189K(262144K), 0.0410866 secs]
>>> 10.756: [GC 10.757: [ParNew: 16320K->0K(16384K), 0.0255010 secs]  
>>> 19509K->4290K(262144K), 0.0258390 secs]
>>> 12.108: [GC 12.108: [ParNew: 16320K->0K(16384K), 0.0229667 secs]  
>>> 20610K->5799K(262144K), 0.0232975 secs]
>>> <cut>
>>> 29.500: [Full GC 29.500: [CMS: 24054K->23891K(245760K), 0.8014114  
>>> secs] 26981K->23891K(262144K), [CMS Perm : 23221K->23174K(23296K)],  
>>> 0.8021225 secs]
>>>
>>> after a few hours:
>>> 21372.393: [GC 21372.393: [ParNew: 15756K->0K(28608K), 0.0072765 
>>> secs]  383481K->367869K(687748K), 0.0074989 secs]
>>> 21373.023: [GC 21373.023: [ParNew: 27810K->0K(28608K), 0.0325687 
>>> secs]  395680K->381143K(687748K), 0.0327673 secs]
>>> 21373.461: [GC 21373.461: [ParNew: 28544K->0K(28608K), 0.0189914 
>>> secs]  409687K->384469K(687748K), 0.0191790 secs]
>>> 21373.917: [GC 21373.917: [ParNew: 28544K->0K(28608K), 0.0059543 
>>> secs]  413013K->384529K(687748K), 0.0061447 secs]
>>> 21375.508: [GC 21375.508: [ParNew: 26452K->0K(28608K), 0.0087766 
>>> secs]  410981K->385283K(687748K), 0.0089809 secs]
>>> 21375.556: [Full GC 21375.556: [CMS: 385283K->323173K(659140K),  
>>> 4.7187553 secs] 392550K->323173K(687748K), [CMS Perm :  
>>> 46865K->46863K(65536K)], 4.7189925 secs]
>>> 21380.330: [Full GC 21380.330: [CMS: 323173K->322000K(659140K),  
>>> 4.6004591 secs] 325384K->322000K(687748K), [CMS Perm :  
>>> 46865K->46863K(65536K)], 4.6007203 secs]
>>>
>>> _______________________________________________
>>> hotspot-gc-use mailing list
>>> hotspot-gc-use at openjdk.java.net
>>> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use
>>
>>
> 
_______________________________________________
hotspot-gc-use mailing list
hotspot-gc-use at openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use



More information about the hotspot-gc-dev mailing list