This reminded me of a situation I ran into in the past where the JVM was being rendered useless because it was calling FGC repeatedly. Effectively what was going on is that a very large array was allocated which swamped the JVM memory and caused it to trash, much like an OS.
Here are some links which will help (at least they helped me): http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html (you need to read this one) http://java.sun.com/performance/reference/whitepapers/tuning.html (and this one). http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136373.html http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html http://java.sun.com/performance/jvmstat/ http://blogs.sun.com/watt/resource/jvm-options-list.html jstat is also very good for seeing what is going on in the JVM. I also recall there was a way to trace GC in the JVM but cant recall how off the top of my head, maybe it was a JVM option. Hope this helps. Cheers François On Jan 10, 2011, at 5:13 PM, Simon Wistow wrote: > On Mon, Jan 10, 2011 at 01:56:27PM -0500, Brian Burke said: >> This sounds like it could be garbage collection related, especially >> with a heap that large. Depending on your jvm tuning, a FGC could >> take quite a while, effectively 'pausing' the JVM. >> >> Have you looked at something like jstat -gcutil or similar to monitor >> the garbage collection? > > I think you may have hit the nail on the head. > > Having checked the configuration again I noticed that the -server flag > didn't appear to be present in the options passed to Java (I'm convinced > it used to be there). As I understand it, this would mean that the > Parallel GC wouldn't be implicitly enabled. > > If that's true then that's a definite strong candidate for causing the > root process and only the root process to peg a single CPU. > > Anybody have any experience of the differences between > > -XX:+UseParallelGC > > and > > -XX:+UseConcMarkSweepGC with -XX:+UseParNewGC > > ? > > I believe -XX:+UseParallelGC is the default with -server so I suppose > that's a good place to start but I'd appreciate any anecdotes or > experiences. > > >