concurrent mode failure - CMS & RMI

Hi,

I've been struggling with this concurrent mode failures for quite some time and I would be very nice if somebody could answer some more or less basic questions:

1.) If I scedule a full gc when using CMS do I get an concurrent mode failure? In my log I get one like every 60 seconds even as more than 50% of the heap is free, so I guess it's due to RMI?!

2.) If 1.) is true, what can I do? I can disable explicit gcs, but will there remain uncollected garbage or will there be any other disadvantage? I mean SUN won't do this ugly FullGC-scheduling-feature for fun, do they?

3.) If I need explicit gcs (or if I at least suppose it's better to schedule it manually in the night), what can I do in that case? As far as I understood the sun.rmi.dgc.server.gcInterval just set's a maximum interval! Actually I put it to a very high value, but I get the FullGC with a concurrent mode failure every 63 seconds, at memory usage where the CMS should not even kick-in.

Thanks a lot for any help,

Robert.

[1045 byte] By [Robert_Golda] at [2007-11-27 9:52:42]
# 1

1) Yes, a System.gc() will be reported by cms as a concurrent mode failure.

2) See if the release you're using has the flag -XX:+ExplicitGCInvokesConcurrent.

This will tell cms to start a concurrent collection when a System.gc() is involved.

It is in jdk6.It may still not do what you want if the the concurrent collections

are happening too frequently.

RMI schedules the full GC's because GC's are local to a JVM and

the collector on one JVM (call it JVM A) does not know about state of the heap

on another JVM (call it JVM B).

3) I would have expected setting the gcInterval to

a larger number would have had more of an affect. What was the value?

Post a fragment of a gc log (-XX:+PrintGCDetails) that shows the concurrent

mode failure. Maybe there's something else going on.

jon999a at 2007-7-13 0:21:47 > top of Java-index,Java HotSpot Virtual Machine,Specifications...