tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Wall <>
Subject Java/Tomcat 5 CPU utilization very high under low load
Date Wed, 28 Jan 2009 16:46:52 GMT
We are running Tomcat 5.5.27 on Linux 2.6.18-53.1.4.el5xen (Red Hat 
4.1.2-14) with Java 1.6.0_05 (32 bit) in a Xen virtualization 
environment (not my server, so unsure what version that is).  It has 3 
webapps running, two of ours and Tomcat's manager.

Normally, when we run 'top', Java and it's related PG 8.3.3 database 
that drives the Tomcat webapps show very low CPU utilization (0-1%) and 
even leave the 'top' listing.  When there is higher user activity, we 
see Java increase to 4-20% utilization, but these are spikes that also 
tend to return to the low utilization shortly after the burst.  We run 
Java with options: -server -Xms2200m -Xmx2200m -XX:MaxPermSize=128m.

But every so often, Java "goes crazy" and reaches 95-99% CPU 
utilization, and it sticks there, even though there is little Tomcat 
activity.  What is unusual to me is that during this initial phase of 
high CPU utilization, the webapps themselves appear to run smoothly 
(don't really notice a slowdown like you'd expect from such high 
utilization), logging in, using the web interface, doing queries, 
updates, etc.  Also, the tomcat access log show little actual user 
activity while it's running so busy.

Unfortunately, after some time, it seems that Tomcat eventually locks up 
and we have to restart the system, where the process repeats itself: 
initially normal low utilization, followed by 99% utilization with the 
system still working okay, followed by a lock-up and restart.

So it seems like there's a Java thread that is running amok, yet not a 
critical thread (at least not initially) since the apps appear to be 
working fine.

How best can I find the troubled thread on a running production system? 


P.S.  Note that our webapps run on lots of servers in a similar 
configuration (albeit without Xen) and we've never seen this before 
after years of running production systems -- it's just this one system.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message