WebLogic Server (WLS) and Java offer several ways to generate thread dumps, which are listed below in order of preference. It's always better to obtain the thread dumps 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 OSes, thread dumps can be created by
+ the thread dumps are generated in the server stdout
- On POSIX compliant platforms (e.g. Solaris and Linux), first identify the process ID (pid) using ps -ef | grep java, then run
kill -3 pid > td_filename 2>&1Signal 3 is equivalent to SIGQUIT.
- On Windows OSes, thread dumps can be created by
- Using beasvc:
beasvc -dump -svcname:service_name -log:td_pathname
- service_name is the Windows service that is running the server instance (e.g. mydomain_myserver)
- td_pathname is the full path and the name of the file in which the thread dump will be generated into
- Using weblogic.WLST:
setDomain.cmd or setDomain.sh depending on the OSthe thread dump will be generated in Thread_Dump_AdminServer.txt
java weblogic.WLST
connect("username","password","t3://:")
threadDump() - 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 OSThe thread dump will be generated in the server stdout defined
java weblogic.Admin : -username -password THREAD_DUMP - From the WLS Administration Console a thread dump can be created by navigating to Server -> -> Monitoring -> Dump threads stack. This method could lead to truncated thread dumps or incomplete thread dump.
- From the JRockit command line:
jrcmd print_threads
转自:
wlst内容参考: