繁体   English   中英

需要帮助,以找到在WebSphere服务器上运行的Java应用程序中HUNG线程的根本原因

[英]Need help in finding the root cause for HUNG Threads in java application which runs on WebSphere server

有人可以帮助我找到低于HUNG Thread的根本原因吗? 请在下面找到堆栈跟踪。

ThreadMonitor W WSVR0605W:线程“ WebContainer:19”(0000004e)处于活动状态765581毫秒,并且可能已挂起。
服务器上总共可能有1个线程被挂起。

    at java.net.SocketInputStream.socketRead0(Native Method) 
    at java.net.SocketInputStream.read(SocketInputStream.java:129) 
    at com.sybase.timedio.RawDbio.reallyRead(RawDbio.java) 
    at com.sybase.timedio.Dbio.doRead(Dbio.java) 
    at com.sybase.timedio.InStreamMgr.readIfOwner(InStreamMgr.java) 
    at com.sybase.timedio.InStreamMgr.doRead(InStreamMgr.java) 
    at com.sybase.tds.TdsProtocolContext.getChunk(TdsProtocolContext.java) 
    at com.sybase.tds.PduInputFormatter.readPacket(PduInputFormatter.java) 
    at com.sybase.tds.PduInputFormatter.read(PduInputFormatter.java) 
    at com.sybase.tds.TdsInputStream.read(TdsInputStream.java) 
    at com.sybase.tds.TdsInputStream.readUnsignedByte(TdsInputStream.java) 
    at com.sybase.tds.Tds.nextResult(Tds.java) 
    at com.sybase.jdbc.ResultGetter.nextResult(ResultGetter.java) 
    at com.sybase.jdbc.SybStatement.nextResult(SybStatement.java) 
    at com.sybase.jdbc.SybStatement.queryLoop(SybStatement.java) 
    at com.sybase.jdbc.SybStatement.executeQuery(SybStatement.java) 
    at com.sybase.jdbc.SybCallableStatement.executeQuery(SybCallableStatement.java) 
    at com.ibm._jsp._prodStatHandlingAgent._jspService(_prodStatHandlingAgent.java:247) 
    at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:98) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1661) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:937) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:500) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) 
    at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121) 
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:239) 
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91) 
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:864) 
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583) 
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:455) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:384) 
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83) 
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:557) 
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:607) 
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:984) 
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1069) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550) 

注意:如果您需要更多信息,请发表评论。

谢谢。

看来您的数据库(sybase)操作很慢。 在这种情况下,您已经发送了一个数据库查询,您只需要等待响应即可。 通常有两个原因:

  1. 您的查询未经过优化,需要花费大量时间才能完成。
  2. 您只是通过特定查询获取了大量数据,因此您应该缩小条件。
  3. 您正在访问的数据库资源已被另一个连接锁定。 您可以使用数据库工具来发现数据库中正在发生的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM