Oracle GlassFish Server 3.0.1 Troubleshooting Guide

Troubleshooting Tools

Several tools are available that can be used to collect information for troubleshooting purposes. This section provides basic information about some of them, and includes the following:

Operating System Utilities

Operating system utilities, such as pkginfo and showrev on Solaris and rpm on Linux, are helpful in gathering system information.

The ps -ef command provides helpful information about processes that are running, including their process identification numbers (PIDs).

Stack Traces and Thread Dumps

A stack trace is a user-friendly snapshot of the threads and monitors in a Virtual Machine for the Java platform (Java Virtual Machine or JVMTM machine). A thread dump shows what every thread in a JVM is doing at a given time and is useful in debugging. When the application server freezes, hangs, or becomes sluggish for no apparent reason, you should generate and analyze a thread dump.

This section explains how to obtain a thread dump for GlassFish Server. More information about analyzing the information contained in a thread dump can be found in “An Introduction to Java Stack Traces” (http://java.sun.com/developer/technicalArticles/Programming/Stacktrace).

ProcedureTo Obtain a Server Thread Dump

  1. Type the following command:


    asadmin generate-jvm-report --type=thread
    
See Also

generate-jvm-report(1)

VisualVM

VisualVM is a Java troubleshooting tool that uses various technologies such as jvmstat, JMXTM, and Attach API to access monitored applications. VisualVM is a tool for visualizing data sources and by default visualizes the following types: applications, hosts, snapshots, core dumps, heap dumps, and thread dumps. These data sources are visualized in VisualVM so that they can be monitored for the purposes of analysis, management, and troubleshooting. VisualVM is commonly used to detect memory leaks.

VisualVM has a GlassFish plugin that enhances monitoring of hosted applications by adding specialized overview, a tab for monitoring the HTTP Service, and the ability to visually select and monitor any of the deployed web applications. You can experiment with VisualVM troubleshooting capabilities, but note that various features depend on the Java versions used in the client and server. Depending on your configuration, you might only get parts of the VisualVM features. For more information about VisualVM, see https://visualvm.dev.java.net.

JVM Command-Line Tools

JVM command-line tools can be used to provide valuable information about hung Java processes or Java core dumps. These tools include the following: