JVM调优jstack怎么找出最耗cpu的线程并定位代码
1个回答
展开全部
第一步:先找出java的进程Id(PID) 假设java应用名称是zcg_commodity
ps -ef|grep zcg_commodity
得到进程Id为32464
第二步:找出该进程内最消耗CPU的线程
top -Hp pid
输入top -Hp 32464
TIME列就是各个java线程耗费的CPU的时间,比如图中是线程ID的为2012的线程,
通过 printf “%x\n” 2012
得到2012的十六进制为 7dc
第三步:
一般会进到jdk的bin目录下,root权限执行
jstack 32464|grep 7dc
ps -ef|grep zcg_commodity
得到进程Id为32464
第二步:找出该进程内最消耗CPU的线程
top -Hp pid
输入top -Hp 32464
TIME列就是各个java线程耗费的CPU的时间,比如图中是线程ID的为2012的线程,
通过 printf “%x\n” 2012
得到2012的十六进制为 7dc
第三步:
一般会进到jdk的bin目录下,root权限执行
jstack 32464|grep 7dc
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询