JVM排查Tomcat 假死问题——Redis 连接池问题

这两天系统升级后Redis启动移动端运行2小时左右就假死掉了,服务没有任何错误。此时我们需要借助jstack 输出快照帮我们来排除问题。最后发现连接池没有可配置化,都是静态初始化而且初始化连接数量才500左右,并且新增的Jedis调用工具没有关闭连接这是致命的错误资源耗尽就阻塞等待了。

目录

定位问题

 问题排查和解决

其他问题


定位问题

输出文件命令:jstack -l pid > D:jstack.log

 问题排查和解决

请参考我的JVM优化及问题排查手册:https://download.csdn.net/download/boonya/12049505

Redis 连接池设置初始化太小:

只需要实现连接可调整配置即可,可以参考Redis工具类:Redis连接池及单节点工具与多Redis节点管理工具

其他问题

如下面截图所示并没有明显的有关业务代码堆栈输出,但是Tomcat就是阻塞掉了。

可能的原因有三:

  • Tomcat没有使用线程池或设置太小用户量太大不足以支撑。
  • 数据库连接使用完未关闭导致连接资源耗尽等待空闲
  • redis连接使用完未关闭导致连接资源耗尽等待空闲

发布了627 篇原创文章 · 获赞 535 · 访问量 359万+

猜你喜欢

转载自blog.csdn.net/boonya/article/details/103688343
今日推荐