IBM Support

Hung Threads Monitoring

Question & Answer


Question

What is the purpose and usage of Hung Threads Monitoring feature?

Answer

This feature is enabled by default. You can check this accessing the "WebSphere Agent Configuration" workspace or "Application Server Configuration" workspace and the Application Diagnostic Configuration view, "Collection (Advanced)" tab:



Any web-container thread that is hung for a time greater than "Hung Thread Detection Timeout" (default is 300 seconds) will be tracked as follows.



1) In the Application Server Summary view you will find non-zero values for the hung threads attributes



2) There is a predefined situation "WASHungThreadsDetected" that will alert if "Hung Thread Total > 0"

3) In addition, if the thread is still hung, you can run the Take Action "WAS_Dump_Hang_Threads_Info" to generate a complete stack trace in the TEMA msg log file

e.g. for Unix: <ITMHOME>/<arch>/logs/kyn-tema-msg.log

Here is an example of generated track trace:

<Message Id="KWJG0001I" Severity="INFO">
 <Time Millis="1395789990188"> 2014-03-25 18:26:30.188-05:00</Time>
 <Server Format="IP">hostname.domain</Server>
 <ProductId>Tema</ProductId>
 <Component>TEMA.msg.itcam.websphere</Component>
 <ProductInstance></ProductInstance>
 <LogText><![CDATA[KWJG0001I Hang thread info:
ASID: -2
ThreadName: WebContainer : 5
LockName: null
ThreadState: TIMED_WAITING
LockOwner: null
ThreadStack: [0] java.lang.Thread.sleep (Thread.java:-2)
[1] java.lang.Thread.sleep (Thread.java:850)
[2] COM.goober.servlet.SleeperServlet.doGet (SleeperServlet.java:41)
[3] javax.servlet.http.HttpServlet.service (HttpServlet.java:718)
[4] javax.servlet.http.HttpServlet.service (HttpServlet.java:831)
[5] com.ibm.ws.webcontainer.servlet.ServletWrapper.service (ServletWrapper.java:1443)
[6] com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest (ServletWrapper.java:790)
[7] com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest (ServletWrapper.java:443)
[8] com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest (ServletWrapperImpl.java:175)
[9] com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest (CacheServletWrapper.java:91)
[10] com.ibm.ws.webcontainer.WebContainer.handleRequest (WebContainer.java:859)
[11] com.ibm.ws.webcontainer.WSWebContainer.handleRequest (WSWebContainer.java:1557)
[12] com.ibm.ws.webcontainer.channel.WCChannelLink.ready (WCChannelLink.java:173)
[13] com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination (HttpInboundLink.java:455)
[14] com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation (HttpInboundLink.java:384)
[15] com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete (HttpICLReadCallback.java:83)
[16] com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted (AioReadCompletionListener.java:165)
[17] com.ibm.io.async.AbstractAsyncFuture.invokeCallback (AbstractAsyncFuture.java:217)
[18] com.ibm.io.async.AsyncChannelFuture.fireCompletionActions (AsyncChannelFuture.java:161)
[19] com.ibm.io.async.AsyncFuture.completed (AsyncFuture.java:138)
[20] com.ibm.io.async.ResultHandler.complete (ResultHandler.java:202)
[21] com.ibm.io.async.ResultHandler.runEventProcessingLoop (ResultHandler.java:766)
[22] com.ibm.io.async.ResultHandler$2.run (ResultHandler.java:896)
[23] com.ibm.ws.util.ThreadPool$Worker.run (ThreadPool.java:1527)
HangTime: 60009
 ]]></LogText>
 <Source FileName="com.ibm.tivoli.monitoring.itcam.tema.takeactions.TAHDumpHangThreads" Method="doAction(ServerNode sn, String[] params)"/>
 <TranslationInfo Type="JAVA" Catalog="com.ibm.tivoli.monitoring.itcam.tema.websphere.decorator.KynDecoratorContainer" MsgKey="KWJG0001"><Param><![CDATA[
ASID: -2
ThreadName: WebContainer : 5
LockName: null
ThreadState: TIMED_WAITING
LockOwner: null
ThreadStack: [0] java.lang.Thread.sleep (Thread.java:-2)
[1] java.lang.Thread.sleep (Thread.java:850)
[2] COM.goober.servlet.SleeperServlet.doGet (SleeperServlet.java:41)
[3] javax.servlet.http.HttpServlet.service (HttpServlet.java:718)
[4] javax.servlet.http.HttpServlet.service (HttpServlet.java:831)
[5] com.ibm.ws.webcontainer.servlet.ServletWrapper.service (ServletWrapper.java:1443)
[6] com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest (ServletWrapper.java:790)
[7] com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest (ServletWrapper.java:443)
[8] com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest (ServletWrapperImpl.java:175)
[9] com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest (CacheServletWrapper.java:91)
[10] com.ibm.ws.webcontainer.WebContainer.handleRequest (WebContainer.java:859)
[11] com.ibm.ws.webcontainer.WSWebContainer.handleRequest (WSWebContainer.java:1557)
[12] com.ibm.ws.webcontainer.channel.WCChannelLink.ready (WCChannelLink.java:173)
[13] com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination (HttpInboundLink.java:455)
[14] com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation (HttpInboundLink.java:384)
[15] com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete (HttpICLReadCallback.java:83)
[16] com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted (AioReadCompletionListener.java:165)
[17] com.ibm.io.async.AbstractAsyncFuture.invokeCallback (AbstractAsyncFuture.java:217)
[18] com.ibm.io.async.AsyncChannelFuture.fireCompletionActions (AsyncChannelFuture.java:161)
[19] com.ibm.io.async.AsyncFuture.completed (AsyncFuture.java:138)
[20] com.ibm.io.async.ResultHandler.complete (ResultHandler.java:202)
[21] com.ibm.io.async.ResultHandler.runEventProcessingLoop (ResultHandler.java:766)
[22] com.ibm.io.async.ResultHandler$2.run (ResultHandler.java:896)
[23] com.ibm.ws.util.ThreadPool$Worker.run (ThreadPool.java:1527)
HangTime: 60009
]]></Param></TranslationInfo>
 <Principal>hostname.domain/xxx.yyy.zzz.jjj</Principal>
</Message>

[{"Product":{"code":"SS3PGL","label":"Tivoli Composite Application Manager for WebSphere"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"ITCAM for WebSphere (Dist TEMA)","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"7.2","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
17 June 2018

UID

swg21668348