前一段时间发现一个线程的问题,后经过排查,通过jstack pid ,打印出了当前jvm的线程快照,是由于一个线程进入一个循环,而其他的线程持续的等待导致。
在linux上的操作:
ps -aux| grep 'java' 查出web应用程序的pid
然后调用java自带的bin里的jstack即可
jstack pid,结果如图所示:

这个图,给出了当前一个名称为http-0.0.0-7001-Accptor-0的线程状态:是daemon守护线程,优先级为10,线程号是由16进制表示的nid=0x5cfa,状态是正在执行,以及该线程当前的栈信息
本文详细阐述了如何使用jstack工具排查JVM线程问题,通过实例展示了如何利用ps命令找出java进程ID,进而使用jstack命令获取线程快照,分析线程状态和栈信息,最终解决线程循环导致的阻塞问题。
1252

被折叠的 条评论
为什么被折叠?



