美文网首页
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