解决任何一件问题,首先是定位到这个问题:
1.在linux操作系统中,我们使用投top命令能够定位到进程对cpu的占用问题
对应解释:
PID:进程id
2.然后再定位到线程:
ps H -eo pid,tid,%cpu | grep 进程id
对应解释:pid进程id,tid线程id,cpu
3.然后使用jstack 进程id
注意:jstack打印的线程是16进制的,我们的ps定位线程打印的是2进制的,我们需要了转换为对应的单位,然后再去jstack中找到对应的线程信息。我们在定义线程的时候,一定要定义线程的名称,方便我们后续的定位。