我们在Windows服务器2007网站上使用SQL服务器在tomcat上有一个应用程序(禁用了IIS)它可以平稳运行几个小时但是它突然停止回复请求。 日志信息量不大。我们在某个JSP上看到过NullPointer异常,但系统在此之后的30个小时内才挂起。 我们在Tomcat lo4j日志中看到男子气概的异常......但似乎没有任何相关内容。 应用程序本身就是部分黑盒子
答案 0 :(得分:4)
除了特定于应用程序的东西(应用程序在等待什么资源?它是否持有对它们的引用?)并提高日志记录级别,请尝试:
使用flags运行tomcat以输出GC活动:
java -verbose:gc
Here's关于gc调优的一个很好的参考,但是为了检查挂起你可能只是想看看它是否遇到了内存错误。
您还可以使用jstack检查线程的状态,查看挂起的内容:
jstack PID