标签:style blog http ar 使用 java sp 数据 2014
上线项目之后一直会有loadavg报警
如图:
经过最后逐一排查(查了足足十天),发现是在一个jar包里修改了一个关于数据库的连接池的配置导致的这个问题.
找到调用栈之后就比较好具体定位是什么原因了:
可以发现
是dbcp连接池的问题,启动了一个timer一直在执行什么任务.队列过长而导致的loadavg过高
最终定位到代码:
由于修改了dbcp的配置属性
在82行配置了最少空闲为5
所以会有一个timer来一直扫描所有的连接,检查其是否空闲.
由于是一个db使用非常重的工程,可能同时存在连接上百个库的情况.所以会有大量连接排队等待扫描回收.
这样造成了loadavg过高.
以后可以快速使用ps和jstack工具来定位到具体的线程和调用栈.来方便查找问题.
标签:style blog http ar 使用 java sp 数据 2014
原文地址:http://www.cnblogs.com/beenoisy/p/4057054.html