Java thread dump in weblogic

Oracle Weblogic Server

Below describes different ways on taking java thread dump in a WebLogic Server environment.

Java Thread dump are essential diagnosis information used to analyze and troubleshoot performance related issues such as server hangs, deadlocks, slow running, idle or stuck applications, slow database interactions etc.

It is always recommended to obtain the java thread dump by using operating system (OS) commands rather than by using Java classes or the Administration Console, because if the console is hanging, users won’t be able to connect to it to issue thread dumps.

Use operating system commands to get the thread dumps when WLS starts up from a command-line script:
On Windows OS’s, thread dumps can be created by

<ctrl>+<break> -- the thread dumps are generated in the server stdout


On UNIX platforms (e.g. Solaris and Linux), identify the process ID (pid) using ps -ef | grep java, then run

kill -3 <pid> 2>&1

Signal 3 is equivalent to SIGQUIT.

TD Using beasvc:

beasvc -dump -svcname:<service_name>

service_name is the Windows service that is running the server instance (e.g. mydomain_myserver)

Using wlsve (from 10.3.x):

wlsve -dump -svcname:<service_name>

Using weblogic.WLST:

setDomain.cmd or setDomain.sh depending on the OS

java weblogic.WLST

connect("<username>","<password>","t3://<url>:<port>")

threadDump()

The thread dump will be generated in Thread_Dump_AdminServer.txt.

From a command line or shell, a thread dump can be generated via the following command (deprecated from WLS 9.0):

setDomain.cmd or setDomain.sh depending on the OS

java weblogic.Admin <url>:<port> -username <username> -password <password> THREAD_DUMP

The thread dump will be generated in the defined server stdout.

From the WLS Administration Console, a thread dump can be created by navigating to Server -> <server_name> -> Monitoring -> Dump threads stack.

Finally from the Services Administration Tools when WLS runs as a Windows Service:

Java VisualVM can also be used to take thread dumps while applications are running, see

http://docs.oracle.com/javase/6/docs/technotes/guides/visualvm/applications_local.html

From the JRockit command line:

jrcmd <pid> print_threads

 

In case of any ©Copyright or missing credits issue please check CopyRights page for faster resolutions.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.