Tomcat显示此错误“这很可能会造成内存泄漏”。如何解决这个问题?

时间:2011-05-09 14:24:33

标签: apache apache-cocoon

我在Apache Cocoon中创建了一个Web应用程序。这个网站运行正常,但是每3-4天就会停止响应。除非我们重启tomcat服务,否则它不会运行。在catalina.2011-05-09.log文件中,它显示以下错误: -

“May 9,2011 3:17:34 am org.apache.catalina.loader.WebappClassLoader clearReferencesThreads 严重:Web应用程序[/ webresources]仍在处理尚未完成的请求。这很可能造成内存泄漏。您可以使用标准Context实现的unloadDelay属性来控制请求完成所允许的时间。“

我无法理解这个问题的原因。有人可以建议我如何解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

您正在使用正在启动一个或多个线程的库,并且未正确关闭它们或释放该线程捕获的其他资源。这经常发生在诸如Apache HTTP组件(我在Http组件中得到此错误)以及在内部使用单独线程的任何事情上。您在Cocoon应用程序中使用了哪些库?

答案 1 :(得分:0)

它告诉你这个问题:

 [...] is still processing a request that has yet to finish

您需要了解该请求是/将要发生的。一种简单的方法是安装PsiProbe之类的东西。

此外,每晚重启Tomcat并不是一个坏主意。在找到根本原因之前,它可以帮助缓解这些问题。