CMS: "premature" minor GCs w/ ParNew

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Wed May 15 21:39:02 UTC 2013


Ramki,

> Does it happen with a specific application?
Yes, I see it for a particular application (running a Cassandra 
instance). I analyzed a GC log and was confused by such suspicious minor 
GCs.

> You might want to print the gc cause and see. It could be related to
> allocating very large objects (arrays). +PrintGCDetails and
> +PrintHeapAtGC would provide additional data (but probably not the
> cause, although that may have changed in more recent builds (JDK
> 8/hs25+? have lost track..)
Unfortunately, -XX:+PrintGCCause isn't available in jdk6 and other 
diagnostic output doesn't give any clue why a particular GC was started.

I was under impression that allocation of large arrays can provoke only 
Full GC (or CMS concurrent cycle), but not just a minor GC. Was I wrong?

Best regards,
Vladimir Ivanov

> -- ramki
>
> On Wed, May 15, 2013 at 8:05 AM, Vladimir Ivanov
> <vladimir.x.ivanov at oracle.com> wrote:
>> Hi,
>>
>> I see minor GCs occurring when young gen occupancy is very low, e.g.:
>> [ParNew: 8446K->7381K(943744K), 0.0274200 secs]
>>
>> Does anybody know what provokes such "premature" GCs?
>>
>> There's no CMS concurrent cycle running or any other interesting GC events
>> occurred around that moment - just a sequence of minor GCs with such
>> outlier.
>>
>> Such premature minor GCs occur on a regular basis.
>>
>> JDK version: 6u37, 64-Bit Server VM (20.12-b01, mixed mode)
>>
>> Best regards,
>> Vladimir Ivanov



More information about the hotspot-gc-dev mailing list