tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Seb B" <sebb94...@hotmail.com>
Subject excessive cpu use with 4.0.4
Date Tue, 01 Oct 2002 00:13:39 GMT
Hi,

I'm running a stand-alone Tomcat 4.0.4 (not using jsp, so no need
to upgrade to 4.0.5) on Linux RedHat 7.3, with IBM's 1.3.1 jvm.
There is very little static content to serve and the server
doesn't have to listen on port 80, so I haven't tried learning
how to configure it behind Apache.

Everything works great in the lab, so I'm now experimenting in
our production system (whose servers are running other servlet
containers so far), behind a load balancer.

On the last run, 4 of the java threads started taking all of the
cpu. I stopped sending traffic to tomcat, and those 4 went on
taking all the cpu they could (for several days). So it looked
like they were stuck in some infinite loop somewhere. Of course,
I suspect this would come from our code. I tried enabling all
sorts of logging in our code, but couldn't get anything from the
process.

As a last resort, I sent the process a "SEGV" signal, which leads
the jvm to print stack traces. All 4 threads (I knew their PID
from ps/top) had the following stack trace:
    "HttpProcessor[9090][44]" (TID:0x100502B8,
sys_thread_t:0x46DCDD98, state:R, native ID:0x10442) prio=5
        at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcesso
r.java:1125)
        at java.lang.Thread.run(Thread.java:512)
         PID: 8013
None of the other HttpProcessor threads were on that same line
(1125), all those I looked at were (as they should be I guess):
    "HttpProcessor[9090][43]" (TID:0x10050300,
sys_thread_t:0x46DCD918, state:CW, native ID:0x10041) prio=5
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java(Compiled Code))
        at
org.apache.catalina.connector.http.HttpProcessor.await(HttpProces
sor.java(Compiled Code))
        at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcesso
r.java:1119)
        at java.lang.Thread.run(Thread.java:512)
         PID: 8012
So *if* the stack traces from the jvm are worthwhile, this would
point to a tomcat problem.

I'm posting to this list and not the developer list, as I'm
wondering whether anyone has experienced such a problem before.
This has happened in only one of my test runs, I don't know how
reproduceable it will be.

Also, this has been asked already, but I didn't see many answers:
is there any sort of real-world benchmark of what load I can
expect in such a set-up ? I understand it depends a lot on what
the servlets do, so I'm wondering how big the biggest sites using
tomcat are; John Turner mentioned >500k for his, is anyone doing
anything bigger ?

Thanks a lot,

Seb



--
To unsubscribe, e-mail:   <mailto:tomcat-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:tomcat-user-help@jakarta.apache.org>


Mime
View raw message