2012-02-14 51 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