http-90-exec-40:TIMED_WAITING
http-90-exec-43:TIMED_WAITING
http-90-exec-49:TIMED_WAITING
http-90-ClientPoller:RUNNABLE
http-90-Acceptor-0:RUNNABLE
TP-Processor2:WAITING
TP-Processor1:WAITING
TP-Processor3:WAITING
TP-Processor4:RUNNABLE
TP-Monitor:TIMED_WAITING
Reference Handler:WAITING
Signal Dispatcher:RUNNABLE
Finalizer:WAITING
main:RUNNABLE
ContainerBackgroundProcessor[StandardEngine[Catalina]]:TIMED_WAITING
NioBlockingSelector.BlockPoller-1:RUNNABLE
以下为不正常状态..
Timer-0:BLOCKED
http-90-exec-1:BLOCKED
http-90-exec-3:BLOCKED
http-90-exec-2:BLOCKED...(此类线程非常多)
tomcat设置能改的都改了,还是无法解决,现在只能通过监控线程判断jvm线程数,过大就自动重启tomcat...
望高手指点,可赠送100资源分....
24 个解决方案
#1
问题补充:tomcat的访问量比较大,并发在100左右。数据库连接是通过连接池,连接没有问题,涉及到异步处理的地方也使用了线程池,不会无限制起新线程。
#2
问题补充:日志没有报错
#3
建议使用监控工具查看。jconsole或者visualvm
#4
关注///
#5
会不会上次多次处理完的资源没有释放掉?检查一下程序看看
#6
一定是你的操作有问题。删了重安一个试试。
#7
可能是使用的对象较多,每次请求结束后没有释放干净
#8
//设置下 jvm的内存大小
#9
进去tomcat管理界面看下最大线程是多少 挂的时候线程是多少
#10
楼主好好检查一下是不是数据操作后很多资源没有关闭掉,导致溢出,我以前就遇到过,你把该关闭的连接什么的都关闭掉。
#11
应该是内存溢出 确保所有连接数据库源使用完后关闭
#12
内存溢出会报OOM错误 先看看应用的日志
#13
提示,如果session过多会造成死机!
#14
看不懂,关注下
#15
你程序中声明的对象太多了估计是,用过后没有进行及时释放
#16
补充:没有内存溢出的报错,没有任何报错。数据库连接也是关闭的。
提示,如果session过多会造成死机!(这个倒有可能)
提示,如果session过多会造成死机!(这个倒有可能)
#17
有一个线索:出问题时,tomcat线程数是稳步上升的,每秒上升10多个,一直超出限制。。。
#18
谁来回答一下啊
#19
你是不是用JDBC做的连接,如果是JDBC做的连接就要检查你的连接有没有在BIZ层关掉,如果没有关掉连接,会有可能由于连接池满而造成tomcat卡死,出错
个人意见!具体原因等待高手解答
个人意见!具体原因等待高手解答
#20
使用jconsole监控了几天,终于发现问题出在哪了,是dbcp连接池发生了死锁,具体原因还没有分析出来。望高手跟贴...
监控截图:
http://b25.photo.store.qq.com/http_imgload.cgi?/rurl4_b=fefb76436e2d9f15336be864895ddae02683f974504a4914f2b8cd0f6968bf3a54e8ac6ac11dc343f95e9c55b82cd58b5907e67b8c5f85935b34f2958e3492871efca53dbfe96d5fe306466a6a5b19b8fc74774b&a=12&b=25
监控截图:
http://b25.photo.store.qq.com/http_imgload.cgi?/rurl4_b=fefb76436e2d9f15336be864895ddae02683f974504a4914f2b8cd0f6968bf3a54e8ac6ac11dc343f95e9c55b82cd58b5907e67b8c5f85935b34f2958e3492871efca53dbfe96d5fe306466a6a5b19b8fc74774b&a=12&b=25
#21
[img=http://b25.photo.store.qq.com/http_imgload.cgi?/rurl4_b=fefb76436e2d9f15336be864895ddae02683f974504a4914f2b8cd0f6968bf3a54e8ac6ac11dc343f95e9c55b82cd58b5907e67b8c5f85935b34f2958e3492871efca53dbfe96d5fe306466a6a5b19b8fc74774b&a=12&b=25][/img]
#22
#23
你做数据库的时候,程序没关连接
#24
阿帕奇的dbcp pool 1.4有同步bug.
参见:
http://osdir.com/ml/users-tomcat.apache.org/2009-06/msg01152.html
参见:
http://osdir.com/ml/users-tomcat.apache.org/2009-06/msg01152.html
#1
问题补充:tomcat的访问量比较大,并发在100左右。数据库连接是通过连接池,连接没有问题,涉及到异步处理的地方也使用了线程池,不会无限制起新线程。
#2
问题补充:日志没有报错
#3
建议使用监控工具查看。jconsole或者visualvm
#4
关注///
#5
会不会上次多次处理完的资源没有释放掉?检查一下程序看看
#6
一定是你的操作有问题。删了重安一个试试。
#7
可能是使用的对象较多,每次请求结束后没有释放干净
#8
//设置下 jvm的内存大小
#9
进去tomcat管理界面看下最大线程是多少 挂的时候线程是多少
#10
楼主好好检查一下是不是数据操作后很多资源没有关闭掉,导致溢出,我以前就遇到过,你把该关闭的连接什么的都关闭掉。
#11
应该是内存溢出 确保所有连接数据库源使用完后关闭
#12
内存溢出会报OOM错误 先看看应用的日志
#13
提示,如果session过多会造成死机!
#14
看不懂,关注下
#15
你程序中声明的对象太多了估计是,用过后没有进行及时释放
#16
补充:没有内存溢出的报错,没有任何报错。数据库连接也是关闭的。
提示,如果session过多会造成死机!(这个倒有可能)
提示,如果session过多会造成死机!(这个倒有可能)
#17
有一个线索:出问题时,tomcat线程数是稳步上升的,每秒上升10多个,一直超出限制。。。
#18
谁来回答一下啊
#19
你是不是用JDBC做的连接,如果是JDBC做的连接就要检查你的连接有没有在BIZ层关掉,如果没有关掉连接,会有可能由于连接池满而造成tomcat卡死,出错
个人意见!具体原因等待高手解答
个人意见!具体原因等待高手解答
#20
使用jconsole监控了几天,终于发现问题出在哪了,是dbcp连接池发生了死锁,具体原因还没有分析出来。望高手跟贴...
监控截图:
http://b25.photo.store.qq.com/http_imgload.cgi?/rurl4_b=fefb76436e2d9f15336be864895ddae02683f974504a4914f2b8cd0f6968bf3a54e8ac6ac11dc343f95e9c55b82cd58b5907e67b8c5f85935b34f2958e3492871efca53dbfe96d5fe306466a6a5b19b8fc74774b&a=12&b=25
监控截图:
http://b25.photo.store.qq.com/http_imgload.cgi?/rurl4_b=fefb76436e2d9f15336be864895ddae02683f974504a4914f2b8cd0f6968bf3a54e8ac6ac11dc343f95e9c55b82cd58b5907e67b8c5f85935b34f2958e3492871efca53dbfe96d5fe306466a6a5b19b8fc74774b&a=12&b=25
#21
[img=http://b25.photo.store.qq.com/http_imgload.cgi?/rurl4_b=fefb76436e2d9f15336be864895ddae02683f974504a4914f2b8cd0f6968bf3a54e8ac6ac11dc343f95e9c55b82cd58b5907e67b8c5f85935b34f2958e3492871efca53dbfe96d5fe306466a6a5b19b8fc74774b&a=12&b=25][/img]
#22
#23
你做数据库的时候,程序没关连接
#24
阿帕奇的dbcp pool 1.4有同步bug.
参见:
http://osdir.com/ml/users-tomcat.apache.org/2009-06/msg01152.html
参见:
http://osdir.com/ml/users-tomcat.apache.org/2009-06/msg01152.html