问题背景:测试环境最近隔几周就会出现请求服务没有响应,查看服务进程正产,查看后台日志没有任何报错的日志,查看tomcat下的localhost_access_log.log日志中也没有请求记录。

排查步骤:

(1)查看tomcat的jvm的gc日志,分析后正常。(tomcat如何开启gc日志以及如何分析日志,可参考文章:https://www.jianshu.com/p/d1f5916d5548)

(2)查看jvm内存使用情况,如下,发现没有内存泄漏(服务器为linux系统):

(3)查看tcp连接情况,如下,发现大量CLOSE_WAIT(查看命令:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'):

(4)收集jvm堆栈信息,收集命令如下:

查看head.log 发现大量线程等待,都是等待获取数据库连接,at org.apache.tomcat.dbcp.pool2.impl.LinkedBlockingDeque.takeFirst

经分析原因为数据库连接池耗尽 ,解决方法:修改数据源配置,增大数据库初始连接以及最大连接数

tomcat假死排查-数据连接池耗尽相关推荐

  1. Tomcat假死原因排查

    tomcat假死?为什么会假死呢,可能大多数人不会碰到这个问题,如果出现问题,重启服务器就好了,可是如果这个问题没有解决的话,那么就可能会存在相应的隐患,如果你的用户量多,那么必然你的请求量就高,这样 ...

  2. Druid连接池耗尽问题排查总结

    背景 生产环境有个关键应用所有节点,每隔几个月就会发生一次Druid连接池耗尽问题,重启后恢复正常. 目前我们还没有定位到问题原因,这边文章主要记录定位过程的一些思路和方法,后续如果找到根本原因,再做 ...

  3. SpringBoot中数据连接池的配置(tomcat,HikariCP,dbcp2,druid)

    SpringBoot中数据连接池的配置(tomcat,HikariCP,dbcp2,druid) 文章目录 SpringBoot中数据连接池的配置(tomcat,HikariCP,dbcp2,drui ...

  4. java移动文件导致tomcat死掉_原 netty导致tomcat假死

    一.系统需求: 保证后台系统在大并发下正常处理每一个业务连接请求. 二.运作方式: Netty+tomcat.在tomcat的web.xml配置文件中配置一个Listener类用来在tomcat初始化 ...

  5. tomcat 假死现象(转)

    1.1 编写目的 为了方便大家以后发现进程假死的时候能够正常的分析并且第一时间保留现场快照. 1.2编写背景 最近服务器发现tomcat的应用会偶尔出现无法访问的情况.经过一段时间的观察最近又发现有台 ...

  6. mysql怎么连接数据连接池_Mysql数据库连接池

    一 开源数据连接池 1 dbcp dbcp可能是使用最多的开源连接池,原因大概是因为配置方便,而且很多开源和tomcat应用例子都是使用的这个连接池吧. 这个连接池可以设置最大和最小连接,连接等待时间 ...

  7. 数据连接池——JNDI

    数据库连接有很多中方式,JDBC数据库的连接方式,前边我们已经介绍过了,而开发中我们经常使用的是DataBaseConnectionPool(数据库连接池,DBCP).数据库连接池到底是什么?它比jd ...

  8. 数据连接池的工作机制是什么

    数据连接池是把数据库连接放到中间服务器上,比如tomcat上,那么相当于每次你操作数据库的时候就不需要再"连接"到数据库再进行相关操作,而是直接操作服务器上的"连接池&q ...

  9. JdbcTemplate(1)(数据连接池)

    一.环境准备 1.1 导入JAR包 ①IOC容器所需要的JAR包 commons-logging-1.1.1.jar spring-beans-4.0.0.RELEASE.jar spring-con ...

最新文章

  1. Activity的知识
  2. 代码审核工具ReviewBoard在Windows下安装问题
  3. 浅析COM的思想及原理
  4. S/4HANA生产订单增强WORKORDER_UPDATE方法BEFORE_UPDATE参数分析
  5. java mysql查询界面_Java GUI小程序 实现数据库查询界面-Go语言中文社区
  6. PHP程序员如何突破技术瓶颈
  7. mysql safe 模式_MYSQL的安全模式:sql_safe_updates介绍
  8. IBM/ORACLE/EMC在银行业的重要性
  9. 【基础教程】基于matlab图像处理(读写+显示+运算+转换+变换+增强+滤波+分析+统计)【含Matlab源码 144期】
  10. svn安装以及初步使用
  11. 飞思卡尔单片机 时钟初始化及配置
  12. 如何将绿色中文版的PDF编辑器下载下来
  13. excel锁定单元格不能修改_3步让表格只能输入不能修改,保护表格格式,快速搞定数据汇总...
  14. php tracert,详解路由跟踪命令(tracert)
  15. VIRTIO-BLK设备SERIAL ID
  16. vant 中 van-address-edit地址编辑 地址回显获取 areaCode
  17. 年纪大的程序员慢慢都流向什么地方去了?
  18. 王选-“从Dijkstra谈帅才的洞察力”[转]
  19. 毕业答辩PPT模板(10套免费+精选)
  20. 上不了网,代理服务器出现问题

热门文章

  1. 微信小程序正式发布!爱范儿推出国内首家小程序商店
  2. [转贴]男生调戏女生后,老师的经典评语
  3. Penn Treebank数据集介绍+句法分析parsed的基本语法+句法分析基础知识+NLP常用公开数据集汇总及下载
  4. 华为千亿出售荣耀敲定,谜底 10 天后揭晓
  5. oracle sql stddev,STDDEV和VARIANCE这两个函数是怎么用
  6. 《C#类设计手册》读书随笔
  7. 序列操作神器:Seqkit
  8. 树莓派安装OSMC打造家庭影院,还可以看优酷和CCTV
  9. 本文讲解使用apt-get 自动下载安装arm-linux-gcc和arm-linux-g++。
  10. 数学竞赛倒数17天_三重积分这叫有点技巧?