2012-02-14 41 views
0

在我看到这个消息出现在日志中catalina.out的:Tomcat maxthreads,我做错了什么?

Maximum number of threads (200) created for connector with address null and port 80

这是否意味着一个进程占用的东西还是我只是需要增加螺纹尺寸?

重启动Tomcat后,我有垃圾邮件这样的消息:
"SEVERE: The web application [/MyServlet] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation."

有没有解决我的情况呢?

回答

6

是的,它听起来像你有一些从未完成的请求处理程序。每次被调用时,它都会基本上吸收另一个线程,直到池中的线程用完。

您需要制定出其中请求未能完成并修复代码。如果您可以转储所有线程的堆栈,则很可能会清楚哪些请求无法完成。

+0

每当调用servlet时都会收到一个响应,所以这并不意味着它无法完成?难道这是由于流量大,每个请求占用1个线程,并且在另一批请求进入之前缓慢完成? – Maurice 2012-02-14 06:46:25

+0

@Maurice:好吧,听起来好像不是所有*请求都真的收到回复。你的两条消息都指向同样的原因 - 现在假设这真的是*原因似乎是合理的。不要忘记,可能存在您从未明确看到的请求,例如为favicon。 – 2012-02-14 06:58:26

+0

好的,谢谢乔恩,会考虑一下。 – Maurice 2012-02-14 07:05:59