通过jvm运行栈来排查定位死循环位置

0. 问题描述

在实际开发过程中,发现代码运行一小段时间后,四个线程全跑满,这种情况下怀疑代码中出现死循环,因此通过运行栈发现代码都停留在同一个地方,进而定位问题。JVM查看步骤如下:

1. top 查看问题进程号

通过jvm运行栈来排查定位死循环位置_第1张图片

2. top -Hp 进程号 查看问题线程号

通过jvm运行栈来排查定位死循环位置_第2张图片

3. jstack 进程号>>jstack.txt

4. 将异常线程号转换成16进制,在jstack.txt中查找运行栈信息

通过jvm运行栈来排查定位死循环位置_第3张图片

你可能感兴趣的:(java程序)