See, tomcat doesn't create a thread per request. It uses one from the pool
and after doing its job the thread returns to the pool. What might be
happening in your case is that those threads are not going back to the pool
after processing the request. So you will need to find out where those
threads are getting blocked and then take care of that. Best way to go about
that is to take a thread dump. That will tell you exactly where in your code
your threads are getting blocked and it should be pretty straight forward
after that.
About memory, my best guess is that since the thread is blocked, its still
referencing objects that it shouldn't otherwise, hence jump in memory usage
per request. You fix first problem and the second one should take care of
itself.


On 11/22/06, Daniel L. Gross <[EMAIL PROTECTED]> wrote:

I appreciate your help with this problem.  I downloaded JProfiler and
ran it on tomcat 5.5.20.  The garbage collection is running fine.
Memory keeps going up when I make and break connections to the
database.  What appears to be happening is that every time I execute my
app, when it closes, Tomcat leaves an inactive thread hanging.  I think
if I could clear up the inactive threads, the garbage collection routine
would get the memory back.  Is there any way to release inactive threads
in Tomcat 5.5?

Thanks again so much,

-- Dan.


Gaurav Singh Kushwaha
http://www.chakpak.com


Ph: +91-9880101496
Bangalore, India.

Reply via email to