美文网首页
jstack 找到最耗时间性能的线程 线程 线程

jstack 找到最耗时间性能的线程 线程 线程

作者: 乘以零 | 来源:发表于2018-04-11 10:27 被阅读0次

http://my.oschina.net/feichexia/blog/196575

第一步先找出Java进程ID,我部署在服务器上的Java应用名称为mrf-center:

ps -ef | grep mrf-center

root 21711 1 1 14:47 pts``/3 00:02:10 java -jar mrf-center.jar

得到进程ID为21711

第二步找出该进程内最耗费CPU的线程,

可以使用ps -Lfp pid 或者 ps -mp pid -o THREAD, tid, time 或者 top -Hp pid, 我这里用第三个,输出如下:

20160307105042587.jpg

TIME列就是各个Java线程耗费的CPU时间,CPU时间最长的是线程ID为21742的线程,

printf "%x\n" 21742

得到21742的十六进制值为54ee,下面会用到

OK,下一步终于轮到jstack上场了,它用来输出进程21711的堆栈信息,然后根据线程ID的十六进制值grep,如下:

jstack 21711 | grep 54ee

相关文章

网友评论

      本文标题:jstack 找到最耗时间性能的线程 线程 线程

      本文链接:https://www.haomeiwen.com/subject/mslahftx.html