[已解决] 生产环境线程死锁造成的服务器无响应错误-线上问题定位与解决方案

[已解决] 生产环境线程死锁造成的服务器无响应错误-线上问题定位与解决方案

概述

最近团队有人遇到线程死锁的情况,在这里介绍一下情况,以及如何解决的

问题

首先讲讲是怎么知道出问题了,线上这个应用是4台机器负载,有用户反馈有的页面进入超卡,或者就是进不去。

定位

其实当时也是挺懵逼的,测试这边用账号进入,挺流畅的啊。后面根据几个用户提供的链路,发现页面卡的时候,链路请求的机器都是第1台机器的ip。

那么问题就简单很多了。

首先,通过链路直接去看机器上的日志,某几个方法请求的时候,基本都是超时。
通过error日志查看不出更多的问题。

那么看看jstack Dump 日志文件中的线程状态,下载机器的jstack日志进行一个分析。

在这里分享一个分析网站:
http://spotify.github.io/threaddump-analyzer/

可以在线将jstack的日志更加直观的展示出来。

分析后看到的日志很简单:

//... 省略
"car_lib_sync86": awaiting notific
谙忆 CSDN认证博客专家 Java
公众号:程序编程之旅。曾经写过C、C++,使用过Cocos2dx开发过游戏、安卓端、IOS端、PC端页面均开发过。目前专注Java开发,SaaS内核、元数据的研究。偶尔玩玩爬虫
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页
实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值