2 u012396721 u012396721 于 2015.06.16 18:54 提问

tomcat挂起无响应,请各位大神帮忙看看,小弟没有C币请简练

服务器启动跑几个小时后就会报错如下信息
2015-6-16 18:50:31 com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector run
警告: com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@2685239d -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
2015-6-16 18:50:31 com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector run
警告: com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@2685239d -- APPARENT DEADLOCK!!! Complete Status:
Managed Threads: 3
Active Threads: 3
Active Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask@4bb22a9a (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0
Pending Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask@4bedd36e
com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@2d68c79d
com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@64352cf6
Pool thread stack traces:
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2,5,main]
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:129)
oracle.net.ns.Packet.receive(Unknown Source)
oracle.net.ns.DataPacket.receive(Unknown Source)
oracle.net.ns.NetInputStream.getNextPacket(Unknown Source)
oracle.net.ns.NetInputStream.read(Unknown Source)
oracle.net.ns.NetInputStream.read(Unknown Source)
oracle.net.ns.NetInputStream.read(Unknown Source)
oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:930)
oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:894)
oracle.jdbc.ttc7.Oopen.receive(Oopen.java:109)
oracle.jdbc.ttc7.TTC7Protocol.open(TTC7Protocol.java:584)
oracle.jdbc.driver.OracleStatement.open(OracleStatement.java:586)
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2918)
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:658)
oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:584)
oracle.jdbc.OracleDatabaseMetaData.getTables(OracleDatabaseMetaData.java:2308)
com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnectionNoQuery(DefaultConnectionTester.java:185)
com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnection(DefaultConnectionTester.java:62)
com.mchange.v2.c3p0.AbstractConnectionTester.activeCheckConnection(AbstractConnectionTester.java:67)
com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.testPooledConnection(C3P0Poolcom.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.refurbishIdleResource(C3P0PooledConnectionPool.java:310)
com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.run(BasicResourcePool.java:1999)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0,5,main]
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:129)
oracle.net.ns.Packet.receive(Unknown Source)
oracle.net.ns.DataPacket.receive(Unknown Source)
oracle.net.ns.NetInputStream.getNextPacket(Unknown Source)
oracle.net.ns.NetInputStream.read(Unknown Source)
oracle.net.ns.NetInputStream.read(Unknown Source)
oracle.net.ns.NetInputStream.read(Unknown Source)
oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:930)
oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:894)
oracle.jdbc.ttc7.Oopen.receive(Oopen.java:109)
oracle.jdbc.ttc7.TTC7Protocol.open(TTC7Protocol.java:584)
oracle.jdbc.driver.OracleStatement.open(OracleStatement.java:586)
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2918)
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:658)
oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:584)
oracle.jdbc.OracleDatabaseMetaData.getTables(OracleDatabaseMetaData.java:2308)
com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnectionNoQuery(DefaultConnectionTester.java:185)
com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnection(DefaultConnectionTester.java:62)
com.mchange.v2.c3p0.AbstractConnectionTester.activeCheckConnection(AbstractConnectionTester.java:67)
com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.testPooledConnection(C3P0PooledConnectionPool.java:368)
com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.refurbishIdleResource(C3P0PooledConnectionPool.java:310)
com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.run(BasicResourcePool.java:1999)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1,5,main]
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:129)
oracle.net.ns.Packet.receive(Unknown Source)
oracle.net.ns.DataPacket.receive(Unknown Source)
oracle.net.ns.NetInputStream.getNextPacket(Unknown Source)
oracle.net.ns.NetInputStream.read(Unknown Source)
oracle.net.ns.NetInputStream.read(Unknown Source)
oracle.net.ns.NetInputStream.read(Unknown Source)
oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:930)
oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:894)
oracle.jdbc.ttc7.Oopen.receive(Oopen.java:109)
oracle.jdbc.ttc7.TTC7Protocol.open(TTC7Protocol.java:584)
oracle.jdbc.driver.OracleStatement.open(OracleStatement.java:586)
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2918)
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:658)
oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:584)
oracle.jdbc.OracleDatabaseMetaData.getTables(OracleDatabaseMetaData.java:2308)
com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnectionNoQuery(DefaultConnectionTester.java:185)
com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnection(DefaultConnectionTester.java:62)
com.mchange.v2.c3p0.AbstractConnectionTester.activeCheckConnection(AbstractConnectionTester.java:67)
com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.testPooledConnection(C3P0PooledConnectionPool.java:368)
com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.refurbishIdleResource(C3P0PooledConnectionPool.java:310)
com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask.run(BasicResourcePool.java:1999)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
2015-6-16 18:51:31 com.mchange.v2.async.ThreadPoolAsynchronousRunner processReplacedThreads
警告: Task com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask@4bb22a9a (in deadlocked PoolThread) failed to complete in maximum time 60000ms. Trying interrupt().
然后服务器就挂起了,所有请求都没有响应,请高手指教
是用netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'查看发现有大量的
CLOSE_WAIT

小弟没有C币请大神们见谅

5个回答

caozhy
caozhy   Ds   Rxr 2015.06.16 19:13

看看内存占用和cpu,是不是有内存泄漏或者无效的连接没有释放。

u012396721
u012396721 有时候我查看连接很高几百个,重启一下tomcat连接数就下来了几十个
2 年多之前 回复
oyljerry
oyljerry   Ds   Rxr 2015.06.16 21:26

服务器应用的log等分析一下,为什么应用没有处理,还是没有收到请求

u012396721
u012396721 报这个错以后tomcat就不处理请求了,挂死,重启后就好了
2 年多之前 回复
cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.06.16 23:36

时间过长,内存泄露?

u012396721
u012396721 我不确定是内存泄露还是连接池泄露
2 年多之前 回复
u012396721
u012396721   2015.06.17 12:21

我现在也无法确定是内存泄露还是连接池泄露导致的,上边发的错误是catalina.out打印的错,服务器应用的日志是正常的

beacon_2011
beacon_2011   Rxr 2015.06.17 21:51

内存溢出,百度一下,重新配一下tomcat,XML文件

Csdn user default icon
上传中...
上传图片
插入图片