jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多。

1、  压测时,使用top命令查看哪个java进行占用了较多的CPU资源:

上图中可以看出pid为9437的java进程占用了较多的cpu资源

2、通过top  -Hp 9437可以查看该进程下各个线程的CPU使用情况

上图中可以看出pid为9591的java线程占用了较多的cpu资源

Time列就是各个java线程耗费cpu的时间。

 

3、  将线程转换为16进制后,查看线程日志

在线转16进制:http://tool.oschina.net/hexconvert

Linux下查看线程日志:

 jstack 进行数 | grep -A 10 线程16进制

由于查看的改线程查不到日志,补充一个能查到日志的线程。应该上述的流程

 

posted on 2018-12-17 17:30  游游荡荡的鱼  阅读(2612)  评论(0编辑  收藏  举报