From: Greg W. <gr...@mo...> - 2006-04-29 07:39:22
|
Alan, as you say, there is nothing terribly obvious in that thread dump. When the server goes 99% I assume it is still serving requests? Judging by the dump it has some requests in progress. Next time this happens, can you take two thread dumps a few minutes apart - that will show us if the same thread is in the same place. My current suspect is BoundedThreadPool0-31 as that is in an area that could loop without actually hitting a real IO exception when the connection times out. But code inspection is showing nothing obvious. Note that your line numbers do not match mine exactly and I don't think this class has changed for a while (but svn has gone silent on me... so I can't check). But thanks for sticking with this! cheers Alan Williamson wrote: > I have managed to capture a thread dump of when the system goes into a > 99% CPU chew > > Thread dump here: > http://whiteboard.blog-city.org/index.cfm?boardname=jettythreaddump > > > There is nothing there that is terribly obvious. Although this is > another one that shows a high number of BoundedThreadPool0-32 instances > that are just not cleaned up. > > I spoke to Kirk Pepperdine of JavaPerformance.com about this, and he > asked if Jetty uses the same pool libraries that Tomcat utilises? He > noted that Tomcat has the same behaviour that it doesn't release unused > threads back. > > The Java GC isn't doing anything either, so one of those threads is > chewing up the processor > > Thoughts? > |