开发者社区 问答 正文

[@饭娱咖啡][¥20]排查、解决死锁问题有什么技巧?

已解决

最近踩到了Log4j的坑,开启日志后,jmeter 1000并发没事,APp端FinalHTTP、OKHttp 一人访问就很容易出现死锁。

说死锁也不对,因为使用 Jstack 查看,显示没有死锁,但就是不响应了。

展开
收起
微wx笑 2018-10-26 10:53:55 3079 分享 版权
1 条回答
写回答
取消 提交回答
  • 主要从事 Java 后端开发。
    采纳回答

    1.先说说排查死锁的问题
    可以使用通用的组合排查方式: jps + jstack
    以下均在windows 的 cmd 下操作:
    1)jps -l :输出程序的包路径,比如,com.demo.Test
    2)jstack -l pid:打印 pid 对应的 Java堆栈信息,如果是死锁,你将看到如下信息:Found one Java-level deadlock

    2.再说说解决死锁的问题
    可以归结为以下三点:
    1)重新启动系统
    2)撤消进程
    3)进程回退
    但是不论你怎么解决死锁的问题,对于系统来说都是要付出代价的。
    最好的办法就是预防死锁的发生,理清楚业务的流程、注意同步时加锁的顺序等

    2019-07-17 23:10:26
    赞同 1 展开评论
问答分类:
问答地址: