jstack分析java应用线程阻塞实战

问题描述:

生产环境,有个查询交易提交后,一直转圈未响应。

问题分析:

1、其他操作都比较流畅,初步怀疑是有同步锁导致的线程阻塞

2、使用jstack命令收集堆栈信息。

进程号为7689,命令如下:

jstack -l 7689 > aa.tdump

参考http://www.cnblogs.com/nexiyi/p/java_thread_jstack.html中的操作,查找异常线程,发现有250处Blocked线程

其中有248处在等待0x00000006c6cc87a8线程释放同步锁。

进一步查看该线程阻塞原因如下:

发现是使用JedisSentinelPool连接池获取Jedis连接的时候发生阻塞。

3、去网上搜索JedisSentinelPool.getResource 阻塞得到如下链接

https://blog.csdn.net/u013887008/article/details/83825358

已将相关配置按照提示修改,以观后效。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页