通过jstack分析cpu问题

这个命令不是用来分析内存泄漏的,使用来分析线程问题的。
引用下之前写过的一个东西,可能会有帮助:

工作填坑记,关于cpu100%只能通过jstack txt文件分析原因

背景
工作中客户嵌入我们的agent,导致cpu飙升到100%,给搞挂了,客户已经删了agent相关所有文件,将agent剔除了。
线索:在这之前客户把平台关了。
提供了jstack文件
之前学习jvm的时候,了解过一些jstack
基于商业机密,不方便粘贴相关jstack文件。

分析
通过jstack相关操作查看哪个线程导致的,分别需要命令
1 top
2 top -Hp
3 jstack pid | grep pid
可是客户已经剔除了agent,现在执行top,也无法复现问题
通过dump的jstack文件分析问题
嗯,不解释了
解决
通过翻看博客https://www.jianshu.com/p/51052aaac3be 对于jstack的相关复习了一遍,收益颇丰,可是只能通过jstask分析,需要对每一个线程的状态有一定的了解。
如下的博客https://www.cnblogs.com/rainy-shurun/p/5732341.html,末尾部分,有很详细的分析,感谢!!!(建议自己认真阅读整篇文章)

其中这里的部分对于分析很有帮助

在这里插入图片描述

在这里插入图片描述

而我的jstack文件中,就有很多的waiting on condition,通过上面的描述是因为加载第三方资源网络的问题。

在我的jstack文件中有相关线程的名字,在项目中进行查看到相关的线程,发现是发送数据的问题,而之前说过,把后端服务关了,我们发送数据的线程受到了阻塞。

目前分析是这样的,可能不准确,等待后期更新。

相关连接
如何玩jstack:jstack 排查现成问题
真正解决本次问题:JVM监控命令详解(转),此博客原文:http://www.cnblogs.com/zhengyun_ustc/archive/2013/03/18/tda.html
我特地转载了一下自己记录下:https://blog.csdn.net/dataiyangu/article/details/102630271

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值