Apache Tomcat重新启动

我们在Windows 2008 Server上运行tomcat 6.0.35。

它每隔几天就会耗尽内存。 我们在日志中注意到服务器正在随机重新初始化。

我们在tomcat日志中看到这个。

[main] INFO org.apache.catalina.core.StandardService-启动服务Catalina

每当它下降,我们看到这个警告信息:

ERROR org.apache.catalina.loader.WebappClassLoader- Web应用程序[/ webconsole]使用[org.apache.log4j.helpers.ThreadLocalMap]types的键创build了一个ThreadLocal(值为[org.apache.log4j.helpers.ThreadLocalMap@38fc73ee ])和types为[java.util.Hashtable](值为[{}]的值),但在Web应用程序停止时无法将其删除。 这很可能造成内存泄漏。

我们认为这可能是log4j错误的一个问题。

然而,更大的问题是服务器为什么重新初始化? 我们检查是否有一些正在监视的文件正在被监视,从而导致重新启动,但没有。

如果有人有任何的指针,将不胜感激。

这看起来像是当tomcat的内存泄漏检测/预防被触发时被logging的错误消息的types。 Tomcat Wiki上的MemoryLeakProtection页面有更多的信息。

您可以通过在server.xmlHost元素中禁用autoDeploy来停止重新初始化。 Tomcat默认autoDeployautoDeploy设置为true