执行命令 jstack PID | grep tid 找到线程堆栈后 堆栈信息都是java 基类的 没有业务相关的 Arthas这种情况下该怎么办? 线上线程数暴增 高峰到达1w+ cpu 飙增,top 命令找到cpu 占比最高的线程后 线程堆栈没看到什么有效的信息 这个时候除了top 看进程、线程,看堆栈外 有没有其它更好的方式
当使用jstack
命令查看线程堆栈时,如果发现堆栈信息都是Java基类的,没有业务相关的信息,可能是由于以下原因:
jstack
输出的堆栈信息可能只显示Java基类的部分。jstack
可能无法获取到完整的堆栈信息。针对这种情况,可以尝试以下方法:
jstat
命令查看线程的状态,找出问题线程的状态,例如:jstat -t -p PID
。jmap
命令生成堆内存快照,分析对象实例和类加载器等信息,例如:jmap -histo:live PID
。jconsole
或VisualVM
等可视化工具分析线程和堆内存情况。总之,在遇到这种情况时,需要综合运用各种工具和方法,从不同角度分析问题,才能找到根本原因并解决。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。