JAVA应用生产问题排查步骤( 六 )


JAVA应用生产问题排查步骤

文章插图
 
打开JAVA线程dump文件
JAVA应用生产问题排查步骤

文章插图
 
打开JAVA线程dump文件之后,我们就可以利用上面我们讲过的 top -Hp 19235 命令和 printf将线程ID转换成16进制 printf “0x%xn” 19235  , 拿到最占CPU的线程ID之后 , 来这个JAVA线程dump文件里面搜索这个线程,就知道这个线程在干嘛了 , 卡在了哪一行 。
grep ‘java.lang.Thread.State’ /tmp/9739_jvm_thread.dump | wc -l统计总共有多少线程 , 线程总数 。线程如果太多肯定是有问题的 , 至于多少线程算多我也不知道 。观察呗,就跟袁隆平老爷子一样,你没事多下地观察一下水稻是怎么生长的就知道了,经验就是这么来的 。你们项目平时正常运行的时候,你上去统计一下,等过一段时间你们项目真出问题了你跟平时的经验对比一下就小葱拌豆腐一清二白了 。
JAVA应用生产问题排查步骤

文章插图
 
grep “java.lang.Thread.State” /tmp/20210713_thread.log |sort| uniq -c | sort -nrgrep “java.lang.Thread.State”
/tmp/20210713_vhlthread.log |sort| uniq -c | sort -nr 使用这个命令看下所有的线程都处于什么状态
JAVA应用生产问题排查步骤

文章插图
 
上面介绍的命令使用起来毕竟太原始,效率太低了,不是人干的事 。区分一个程序猿到底猴子还是人 , 主要看他会不会使用工具 。介绍俩个分析线程快照的工具:
  • fastThread
网站为 https://fastthread的具体使用教程,你们自己网上Google吧 。.io/
JAVA应用生产问题排查步骤

文章插图
 
分析结果
JAVA应用生产问题排查步骤

文章插图
 

JAVA应用生产问题排查步骤

文章插图
 

JAVA应用生产问题排查步骤

文章插图
 
fastthread的具体使用教程,你们自己网上Google吧 。
  • 国内HeapDump社区的XSheepdog在线工具网站为 https://www.perfma.com/  ,  https://console.heapdump.cn/

JAVA应用生产问题排查步骤

文章插图
 

JAVA应用生产问题排查步骤

文章插图
 

JAVA应用生产问题排查步骤

文章插图
 
更多用法需要你自己动手去挖掘 。
如果您觉得文章对您有用 , 请转发、评论谢谢~
原文链接:
https://www.tuicool.com/articles/Ej6neiE

【JAVA应用生产问题排查步骤】


推荐阅读