我有一个在 SUSE linux 11 SP3 上运行的 tomcat 服务器 7.0.54。它偶尔会崩溃。
我检查了 catalina.out 并发现了日志“INFO: Stopping service Catalina”,这看起来像是 tomcat 收到了一个异常的关闭信号。在这个 Stopping 日志之前没有错误日志。这很奇怪。
看起来不像是jvm crash,因为它有一个过程:pause -> stop -> destroy。但是好像并没有正常通过shutdown端口被shutdown.sh关闭。因为它应该有一个重要的日志“org.apache.catalina.core.StandardServer await” 如果它被关闭端口关闭了。
这可能有两个原因:
- System.exit 已执行。我检查了代码,没有这个 一种代码。
- 它收到一个系统信号,例如SIGHUP。
如何找到它收到的是哪个信号,是哪个程序发送的信号?
任何找到根本原因的建议/评论都将受到赞赏。谢谢
最佳答案
只是猜测 Tomcat 可能由于内存不足而崩溃。您可以使用 Eclipse Memory Analysis分析生成的堆转储的工具。 Eclipse 内存分析器是一种快速且功能丰富的 Java 堆分析器,可帮助您发现内存泄漏并减少内存消耗。
关于java - 如何诊断tomcat崩溃的根本原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31467569/