dbcp2连接池配置_技术篇 | 通过堆栈日志分析数据库连接池问题

98274693c60616e6cdc20f4ebbad037c.png

前  言

从Tomcat8开始数据库连接池组件由dbcp改为dbcp2,数据库连接池的配置参数也发生了变化导致有些参数没有生效从而引起应用程序性能问题。本文主要介绍如何通过java的堆栈日志进行分析定位。

首先需要保存堆栈dump文件,如下所示:

· jstack命令保存java线程dump

23ab2b58e93f522567c6557dc1cee72e.png

·jmap命令保存java堆dump

881fbeb804ed4dca795736f6e2dc3a3b.png

Thread Dump

打开stack.log,观察发现类似下图信息。

c53f1e29fbcbb8583f9b74977af19b71.png

① 线程名称

② 守护线程标志

| daemon表示该线程为守护线程,非守护线程该列为空。

③ 优先级

| prio表示线程优先级默认为5,10表示最高。

④ 线程ID 

| nid表示十六进制的线程ID,可以结合top -Hp $pid中十进制的线程ID,方面查找占用CPU资源的线程。

⑤ 线程状态 

|  waiting on condition:等待资源

|  waiting for monitor entry:等待获取监视器

|  in Object.wait():对象等待中

|  runnableÿ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值