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.