在weblogic中从控制台生成线程转储时出错

时间:2016-03-08 07:06:30

标签: weblogic weblogic-10.x thread-dump

我正在尝试从weblogic控制台生成线程转储(Server-> - > Monitoring - > Threads - > Dump Thread Stacks。

我收到以下消息:Server must be running before thread stacks can be displayed.

但是,当我尝试使用kill -3 <PID>生成线程转储时,它会生成。

操作系统:Centos Weblogic:WebLogic Server版本:10.3.6.0

任何人都可以帮助我理解,为什么没有从控制台生成线程转储以及为什么我收到消息说服务器必须正在运行。

注意:服务器处于运行状态。

2 个答案:

答案 0 :(得分:0)

当您从Console执行Thread Dump命令时,可能存在AdminServer和受管服务器通信的问题。

控制台使用WLST捕获线程转储,在生成线程转储之前,它将检查受管服务器状态。可能是管理服务器无法获取受管服务器的当前状态,因此您看到错误。

推荐使用Thread Dumps的方法是OS命令(kill -3)和JDK工具,jstack用于hostpot,jrcmd用于JRockit。从Console获取的线程转储可能没有与锁相关的信息,如果线程转储太长,它可能会被截断

答案 1 :(得分:0)

我猜您使用的是JDK 7.在使用JDK 7时,这是WLS 10.3.6.0中的一种错误。您可以将JDK降级为JDK 6或patch the weblogic