java tomcat 线程_java 查看tomcat线程信息

当Tomcat响应缓慢或无响应时,可通过查看线程信息进行故障排查。使用`jstack`命令可以获取Java虚拟机的线程堆栈,帮助定位可能的死锁、等待资源等问题。关注的状态包括Deadlock、Runnable、Waiting on condition、Waiting on monitor entry和Blocked等。多次获取线程快照以确认问题的典型性,并通过专用工具分析日志文件以定位代码问题。
摘要由CSDN通过智能技术生成

查看线程信息

标签: 线程 堆栈 信息 日志 tomcat 响应

tomcat有时候会遇到所有操作都响应很慢,或者一直没有响应的情况。如果这个时候通过日志无法看到错误信息。可能就不好分析问题出处。

这种情况可以看一下tomcat的线程信息,看看都是在进行什么操作。

参考网址https://www.cnblogs.com/shengulong/p/8513652.html

jstack 线程ID 可以查看某个线程的堆栈情况,特别对于hung挂死的线程,可以使用选项-F强制打印dump信息jstack -F pid

jstack定义: jstack是java虚拟机自带的一种堆栈跟踪工具。用于生成java虚拟机当前时刻的线程快照。线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。

PS : 在实际运行中,往往一次 dump的信息,还不足以确认问题。建议产生三次 dump信息,如果每次 dump都指向同一个问题,我们才确定问题的典型性。也就是多进行几次线程快照,观察变化,查看问题所在。

参考命令 jstack pid >run.log   然后把run.log文件用附件“查看线程日志”工具打开。

主要观察几种状态

死锁,Deadlock(重点关注)

执行中,Runnable

等待资源,Waiting on condition(重点关注)

等待获取监视器,Waiting on monitor entry(重点关注)

暂停,Suspended

对象等待中,Object.wait() 或 TIMED_WAITING

阻塞,Blocked(重点关注)

停止,Parked

然后查看每种状态定位到哪段代码信息。

查看Deadlock

1529489117EBAuH5J0_s.jpg

查看monitors

1529489232DAa0CkOq_s.jpg

找到Threads最对的代码

1529489288AxPUWeJ2_s.jpg

日志文件中搜索一共出现多少次

1529489320gTmxArjt_s.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值