> From: Christopher Schultz [mailto:ch...@christopherschultz.net]
> Subject: Re: Tomcat 100% CPU usage after moving from Java 5 to 6
> 
> It's interesting that there's no timing data for that last statement.
> It /is/ possible this is where the JVM went down. (Did it go down?)

That's very suspicious.  I'm wondering if the OS killed the process just 
because it asked for timing information in a bad way?  (E.g., have some 
counters overflowed?)

> Both of these GC runs seem to be collecting a /lot/ of garbage:
> 3272635K->747297K

Completely understandable given the large heap size.  Note that the term 
"garbage collection" is somewhat of a misnomer these days; it's the live 
objects that are collected and moved - the dead ones are simply ignored.

> I don't believe the GC will do "serial" collections unless explicitly
> told to do that. The days of "stop the world" garbage collection are
> long gone.

Not true; "stop the world" is still the default, but the pause time is a lot 
shorter than it used to be.  (I'd avoid the use of the word "serial" here, 
since the GC default is parallel, but not concurrent.)  Regardless, I would try 
removing the concurrent GC settings and see if the problem disappears.

> > And also the +DisableExplicitGC?
> 
> That only causes the JVM to ignore calls to System.gc(), which aren't
> guaranteed to do anything, anyway. Unless you are deploying unknown
> webapps, this probably isn't doing anything at all.

There is some Sun-provided RMI code that still insists on calling System.gc() 
for no particular reason, so disabling the explicit calls is a good idea.

> If the GC were running like crazy, I suspect you'd see more
> CPU usage.

Definitely.  This does not have the feel of a GC problem, but rather something 
broken in JVM native calls to the OS causing abrupt process termination.  Since 
your CPU utilization doesn't seem to be a problem, is there any detailed OS 
logging you can enable to trace the calls to the kernel?

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.

Reply via email to