A hung thread is when an application issues some sort of request, and there is some long delay in the response. As an example, a thread may be hung when an application issues a SQL request, and the database does not issue a response in a timely manner. IBMs Support Assistant Thread and Monitor Dump Analyzer tool can be used to spot hung threads. Or, the SystemOut.log will contains events that spot hung threads.
In the SystemOut.log, a hung thread will be identified by event code WSVR0605W, and when the thread is no longer hung, event WSVR0606W will be found in the log. When hung threads are detected, the number of hung threads will be identifed, along with how long the threads have been hung. In this example, there is 1 hung thread at 9:00 am for 765432 milli seconds, which is about 12 minutes.
[02/05/18 09:00:00:000 CDT] 0000002e ThreadMonitor W WSVR0605W: Thread "WebContainer : 2" (0000012f) has been active for 765432 milliseconds and may be hung. There is/are 1 thread(s) in total in the server that may be hung.
The SystemOut.log may list events that correlate to the hung thread. In this example, you would look for events near 8:48 (12 minutes prior to the hung thread event). The list of possible causes of hung threads if far to vast to list. Each hung thread will need to be looked at. However, some common causes of hung threads are long database connections, some sort of system scan (such as anti-virus), or some sort of long running batch job. Not all hung threads are necessarily bad - for example, an anti-virus scan may be an OK reason for a long running thread.
Once the threads are no longer hung, the SystemOut.log will list the following event.
[02/05/18 09:35:00:000 CDT] 0000002e ThreadMonitor W WSVR0606W: Thread "WebContainer : 2" (0000012f) was previously reported to be hung but has completed.