Creating a thread dump
- Creating a thread dump in Windows NT
- Creating a thread dump in UNIX
To help diagnose problems with WebLogic Server, technical support
may ask you to send them a "thread dump."
This page contains instructions for creating a thread dump.
To create a thread dump, you must run WebLogic Server with a Java Software Development Kit
(JDK). You cannot create a thread if you are
running WebLogic Server in a Java Runtime Environment (JRE);
Creating a thread dump in Windows NT
- Run the WebLogic Server with the just-in-time (JIT) compiler disabled by adding -nojit to the command
line, for example:
$ java -nojit ...
- In the Command Prompt window where the
WebLogic Server is running, open the properties dialog box by right
clicking on the title bar and selecting "Properties".
- Select the Layout tab.
- Under Screen Buffer Size, set the Height to 2000, as shown below:
- Click on OK.
- Press Ctrl-Break. This will output the thread dump to the command window.
- Scroll back in the command window until you reach the beginning of the dump,
which will contain the words "Full thread dump:" Select all the text from that point forward,
Full thread dump:
"ListenThread" (TID:0xf89110, sys_thread_t:0x96ae90,
Win32ID:0x14a, state:R) prio=5
(TID:0xfa26b0,sys_thread_t:0x9693ex148, state:CW) prio=5
- Copy the selected text to the clipboard.
- Paste the selection into a text file.
- Email this file to technical support.
Creating a thread dump in UNIX
To capture a thread dump on a UNIX computer, you can either copy the
thread dump from your shell window or redirect the standard out
(stdout) of the java
command to a file.
When you send a SIGQUIT signal
to the java process, a thread
dump is sent to the stdout. If you run WebLogic Server from an
init script at boot time, you cannot get a thread dump. Programs
executed from init scripts run with nohup and are immune to the SIGQUIT signal. You must start WebLogic Server without
nohup if you want to get a thread dump.
- Run WebLogic Server with the just-in-time (JIT) compiler disabled. This allows the JVM to add
line numbers to the thread dump.
If you are using Solaris, set the JAVA_COMPILER environment variable to "NONE" before you execute the command
to start WebLogic Server:
$ setenv JAVA_COMPILER NONE
For other platforms, consult the JVM documentation for the correct procedure.
- In a second shell, find the java process ID using the ps command.
- Send the java
process a SIGQUIT signal:
$ kill -3 pid
where pid is the java process ID. This sends the thread dump to
- If you redirected stdout to a file, email that file to
Otherwise, scroll back to the beginning of the thread dump,
select, copy, and paste the thread dump to a file, and then
email that file to WebLogic support.