E.17 Diagnosing Initialization and Performance Issues

E.17.1 Diagnosing an Initialization Issue

Problem

OAM Server does not start up.

Solution

  1. Locate and review the OAM Server log file on the computer hosting the OAM Server.

     DOMAIN_HOME/servers/SERVER-NAME/logs/SERVER-NAME-diagnostics.log
    
  2. Enable logging for this computer, as described in Logging Component Event Messages:

     DOMAIN_HOME/config/fmwconfig/servers/SERVER-NAME/logging.xml
    
  3. Restart the OAM Server, observe the behavior, check the log file again if needed.

E.17.2 Diagnosing a Performance Issue

Problem

Monitoring the OAM Server reveals a significant spike in latency during authentication.

Solution

  1. Locate and review the OAM Server log file on the computer hosting the OAM Server.

     DOMAIN_HOME/servers/SERVER-NAME/logs/SERVER-NAME-diagnostics.log
    
  2. Enable logging for this computer, as described in Logging Component Event Messages:

     DOMAIN_HOME/config/fmwconfig/servers/SERVER-NAME/logging.xml
    
  3. Restart the OAM Server, observe the behavior, check the log file again if needed.

E.17.3 Diagnosing Out-of-Memory Issues With a Heap Dump

Problem

Debugging for all expression parsing and evaluation produced a significant performance drag within ~20 hours due to memory growth; running out of memory in ~50 hours.

Configuration: 2GB heap; 3 minute session timeout; jdbc connections tuned min=32 max=200; jdbc connection idle timeout disabled; jbo pool size min = 10 & max=150

Solution

To generate heap-dumps for comparison, you use the following command-line tools jmap for Sun jvm or jrcmd for jrockit jvm located under JAVA_HOME/bin.

For jrockit jvm

jrcmd pid <command> 
/jrockit_160_14_R27.6.5-32/bin/jrcmd 16775 heap_diagnostics
/jrockit_160_14_R27.6.5-32/bin/jrcmd 16775 print_threads
/jrockit_160_14_R27.6.5-32/bin/jrcmd 16775 jrarecording ....

For Sun jvm

jmap -histo <pid> 
jmap -dump:live,format=b,file=heap.bin <pid>