我们在 tomcat 上有一个应用程序,它在 Windows Server 2007 网络(禁用 IIS)上使用 SQL 服务器,它可以顺利运行几个小时,但随后突然停止响应请求。 日志信息量不大。我们在某个 JSP 上看到了 NullPointer 异常,但系统仅在 30 小时后挂起。 我们在 Tomcat lo4j 日志中看到明显的异常……但似乎没有任何相关内容。 应用程序本身是部分黑盒
最佳答案
除了应用程序特定的东西(应用程序正在等待什么资源?它是否持有对它们的引用?)并调高日志记录级别,尝试:
使用标志运行 tomcat 以输出 GC 事件:
java -verbose:gc
Here's关于 gc 调整的一个很好的引用,但要检查是否挂起,您可能只想查看它是否遇到内存错误。
您还可以使用 jstack 来检查线程的状态,看看有什么挂起:
jstack PID
关于windows - 几个小时后 tomcat 6 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3063073/