码迷,mamicode.com
首页 > 其他好文 > 详细

线上异常排查总结相关文章

时间:2019-10-13 19:09:10      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:order   ec2   stat   task   man   dem   转换   image   top   

1.线程dump命令

jstack -l pid > xxx.file 

##pid java 进程id

2.top命令查看CPU

3.高手是怎么使用jstack精确找到异常代码的

  1. 技术图片
  2.  

    将上述代码打成Jar。

    在Linux上执行上述代码

    命令:

    java -jar JavaStudy.jar

    技术图片
  3.  

    找到CPU利用率持续比较高的进程,获取进程号,此处PID为3036

    命令:top

    技术图片
  4.  

    找到上述进程中,CPU利用率比较高的线程号TID(十进制数),此处为3046

    命令:ps p 3036 -L -o pcpu,pid,tid,time,tname,cmd

    技术图片
  5.  

    将获取的线程号(十进制数)转换成十六进制,此处为0xb46

    命令:printf "%x\n"  3046

    技术图片
  6.  

    查看进程PID为3036中

    nid为0xbe6的线程信息。

    命令:

    jstack -l 3036

    技术图片
  7.  总结:

    可以看到jstack命令的输出结果是相当准确的:

    显示耗CPU比较高的代码与实际情况相同,都是第13行。

     

     

    放心的用吧。

    Enjoy youself!

    技术图片
  8.  

线上异常排查总结相关文章

标签:order   ec2   stat   task   man   dem   转换   image   top   

原文地址:https://www.cnblogs.com/lvgg/p/11667035.html

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