码迷,mamicode.com
首页 > 编程语言 > 详细

jstack命令定位java程序CPU利用率高的代码位置

时间:2016-12-22 19:02:29      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:十六进制   线程   int   信息   cmd   time   环境   linux   进制   

高手是怎么使用jstack精确找到异常代码的(java程序CPU利用率高的情况)

请jstack神器来帮忙

本文介绍Linux环境下使用jstack定位问题的秘笈
s1.【top命令】找到CPU利用率持续比较高的进程,获取[进程号],此处PID为 12891
12891

s2.【ps p 12891 -L -o pcpu,pid,tid,time,tname,cmd 命令】找到上述进程中,CPU利用率比较高的[线程号TID](十进制数),此处为 12946
ps p 12891 -L -o pcpu,pid,tid,time,tname,cmd
12946

s3.【printf "%x\n"  12946命令】将获取的线程号(十进制数)转换成[十六进制],此处为 0x3292
printf "%x\n"  12946
3292

s4.【jstack -l 12946 】查看进程PID为3036中,nid为 0x3292 的线程信息
jstack -l  12891 > /home/temp1 & vi /home/temp1 搜索到 0x3292 ,看到代码位置

jstack命令定位java程序CPU利用率高的代码位置

标签:十六进制   线程   int   信息   cmd   time   环境   linux   进制   

原文地址:http://www.cnblogs.com/WangXiaoYu-/p/6212049.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!