java tomcat如何调试_java – Tomcat不停止 如何调试这个?

博主遇到在Linux环境下运行的Tomcat 7有时无法正常关闭的问题,即使使用shutdown.sh脚本,进程仍显示为运行状态。怀疑与线程未正确停止有关,特别是Log4jManager和H2数据库的线程。日志中出现警告,提示可能造成内存泄漏。尝试使用'kill -3'命令获取javacore文件进行分析,但不确定如何进一步处理和解决问题。
摘要由CSDN通过智能技术生成

我有一个Tomcat 7在Linux中运行,我通过$ CATALINA_HOME / bin / startup.sh启动并通过$ CATALINA_HOME / bin / shutdown.sh关闭

从/etc/init.d

除了1个问题,所有是确定。有时tomcat不停止。

虽然我停止它,我看到在catalina.out日志,正在下降,如果我做ps -ef我仍然可以看到过程运行。

可能是什么问题呢?如何调试这个?我的感觉是,这是与线程相关。

所以可疑的部分如下:

1)我使用Log4j的LogManager来检测log4j配置是否已经改变,但我做了Log4jManager.shutdown on一个contextDestroyed ServletContextListener

2)我使用H2数据库,我看到关机:

SEVERE: The web application [/MyApplication] appears to have started a

thread named [H2 Log Writer MYAPPLICATION] but has failed to stop it.

This is very likely to create a memory leak

SEVERE: The web application [/MyApplication] appears to have started a

thread named [H2 File Lock Watchdog

/opt/myOrg/tomcat/webapps/MyApplication/db/myDatabase.lock.db] but has

failed to stop it. This is very likely to create a memory leak. Apr 2,

2012 9:08:08 AM org.apache.catalina.loader.WebappClassLoader

clearReferencesThreads SEVERE: The web application [/MyApplication]

appears to have started a thread named [FileWatchdog] but has failed

to stop it. This is very likely to create a memory leak.

任何帮助吗?如何在这里检测到问题?

更新:

我做了一个杀死-3由@daveb建议,并在catalina.out我看到:

JVMDUMP006I Processing dump event “user”, detail “” – please wait.

JVMDUMP032I JVM requested Java dump using

‘/etc/init.d/javacore.20120402.093922.2568.0001.txt’ in response to an

event JVMDUMP010I Java dump written to

/etc/init.d/javacore.20120402.093922.2568.0001.txt JVMDUMP013I

Processed dump event “user”, detail “”.

/etc/init.d中有一个javacore,但我不知道如何处理它。也就是说我应该调查什么部分

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值