Slow or Hung Application

The SystemOut.log contains entries of:

WSVR0605W: Thread ``<threadname>``  has been active for ``<time>``  and may be hung.  There are ``<totalthreads>`` in total in the server that may be hung.

Recommendations

Automatically generate thread dumps

Enable javacore thread dumps to be generated when a hung application has been detected following the instructions in

Configuring the WebSphere Application Server hung thread detector to automatically produce a javacore or thread dump on a WSVR0605W message

Otherwise it will be impossible to troubleshoot the problem. 

Open a PMR

Analyzing thread dumps requires a certain level of proficiency with the IBM Support Assistant.  If no one at the organization knows how to analyze the thread dump open a PMR with IBM Support who can provide the data analysis necessary to help pinpoint where the hang occurred. 


Strategy 1:  Ran out of disk space OR Slow file system I/O OR Anti-Virus Protection OR Active backup

A thread dump (javacore) shows a lot of threads in a stack that looks like

"WebContainer : 89" daemon prio=10 tid=0x01683c58 runnable (0x73f7d000..0x73f7faf0)
  at java.io.FileOutputStream.writeBytes(Native Method)
  at java.io.FileOutputStream.write(FileOutputStream.java:260)
  at com.ibm.ejs.ras.WrappingFileOutputStream.write(WrappingFileOutputStream.java:364)
  - locked (0x97ff0230) (a com.ibm.ejs.ras.WrappingFileOutputStream)
  at java.io.PrintStream.write(PrintStream.java:412)

Threads in java.io.FileOutputStream.writeBytes


Strategy 2:  JDBC Connection Pool hang


Strategy 3:  Check trace levels

It is not unusual for someone to enable trace, then not turn it off.


Strategy 4:  Check PMI levels

It is not unusual for someone to enable all PMI counters which can severely degrade performance.  Enable only the PMI metrics necessary to gauge the health of the system.


Previous Section (Threads in socketRead0 in JDBC calls) | Next Section (Threads in java.io.FileOutputStream.writeBytes) | Back to Table of Contents