java - 如何诊断tomcat崩溃的根本原因

标签 java linux tomcat crash suse

我有一个在 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” 如果它被关闭端口关闭了。

这可能有两个原因:

  1. System.exit 已执行。我检查了代码,没有这个 一种代码。
  2. 它收到一个系统信号,例如SIGHUP。

如何找到它收到的是哪个信号,是哪个程序发送的信号?

任何找到根本原因的建议/评论都将受到赞赏。谢谢

最佳答案

只是猜测 Tomcat 可能由于内存不足而崩溃。您可以使用 Eclipse Memory Analysis分析生成的堆转储的工具。 Eclipse 内存分析器是一种快速且功能丰富的 Java 堆分析器,可帮助您发现内存泄漏并减少内存消耗。

检查 tomcat彻底记录。检查here , here & here .

关于java - 如何诊断tomcat崩溃的根本原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31467569/

相关文章:

java - cordova平台添加android在JAVA_HOME中出现错误

java - 如何创建当我单击 ListView (android studio)中的项目时显示的弹出菜单?

linux - 以 12 小时的间隔运行 cron

java - Tomcat 服务器错误 : Could not resolve placeholder 'jdbc.driverClassName' in string value "${jdbc.driverClassName}"

java - tomcat重启后没有创建日志文件

jsp - session 过期后自动重新登录

java - Java 循环和 if 语句中的随机数

java - 单击 JButton 时如何更新它的文本?

linux - 在 debian intel 5300 agn 上创建接入点

linux - 带有复合子选项的命令行选项