Linux下查找java进程耗用cpu最高的线程方法
博客专区 > hebad 的博客 > 博客详情
Linux下查找java进程耗用cpu最高的线程方法
hebad 发表于5个月前
Linux下查找java进程耗用cpu最高的线程方法
  • 发表于 5个月前
  • 阅读 35
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: 在很多维护java应用的时候,我们很多人都是停留在哪个java进程耗用了多高的CPU,然后把问题反馈给相应的开发人员,告诉开发人员他的程序有问题,CPU利用异常。但是这仅仅停留在进程的层面,可能很多运维人员本身也不知道这个java进程在干什么,到底是什么东西在引起高CPU耗用,因为他们觉得,我只能管到进程层面的东西,进程里面在干什么我不知道,只要把这个问题反馈给开发人员就行了。

1. 找出cpu耗用厉害的进程pid

    终端执行top命令,然后按下shift+p 查找出cpu利用最厉害的pid号:pid号:31365

        

2. 根据上面第一步拿到的pid号,top -H -p pid 。然后按下shift+p,查找出cpu利用率最厉害的线程号

    线程号:31441

    

3. 将获取到的线程号转换成16进制,去百度转换一下就行

    转换的结果:7AD1

    

4. 使用jstack工具将进程信息打印输出

    jstack pid号 > /tmp/t.dat

    jstack 31365 > /tmp/t.dat

5. 编辑/tmp/t.dat文件,查找线程号对应的信息

    这个就是java进程中耗用CPU频繁和严重的线程信息,可以将该信息提供给开发人员,他们会根据线程信息分析出是属于哪一块的业务内容。到这里就可以交给开发人员了,相信这样的话,处理问题的时间可以大大减少。

    

共有 人打赏支持
粉丝 16
博文 100
码字总数 11190
×
hebad
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: