java 程序堵塞的排查方式
2023-12-29 16:57:21
java 程序堵塞的排查方式
当java 程序堵塞 任何异常 信息,该如何排查。
死锁问题
先确实是否死锁问题,使用arthas ,执行 thread -b 命令。
不是死锁问题,执行 jstack 命令 保留 当前执行命令。
分析Jstack
未知全貌 不予置评
打完 jstack ,一定不要着急 下结论。只有了解程序的全部逻辑,你才能 合理地解决问题。从 主线程(#1)进行查看,先分析 主线程在什么停顿,通过主线程的调用栈,就可以大概了解 整个程序的逻辑。
然后 将其他线程的调用栈信息进行查看汇总,结合代码,基本就可以确定 堵塞的方法。
如果 有日志的话,查看日志的最后打印信息,帮助快速定位问题。
常见的堵塞
1 read 等待 输入流
2 wait 之后没有执行notify
3 存在线程一直死循环,抢占了资源
文章来源:https://blog.csdn.net/xiaoshazheng/article/details/135290061
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!