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

在weblogic中从控制台生成线程转储时出错,weblogic,weblogic-10.x,thread-dump,Weblogic,Weblogic 10.x,Thread Dump,我正在尝试从weblogic控制台生成线程转储(服务器->->监控->线程->转储线程堆栈) 我收到下面的消息:服务器必须先运行,然后才能显示线程堆栈。 但是,当我尝试使用kill-3生成线程转储时,它会被生成 OS:Centos Weblogic:Weblogic服务器版本:10.3.6.0 任何人都可以帮助我理解,为什么线程转储不能从控制台生成,为什么我收到消息说服务器必须运行 注意:服务器处于运行状态。当您从控制台执行线程转储命令时,AdminServer和托管服务器通信可能存在问题 控制

我正在尝试从weblogic控制台生成线程转储(服务器->->监控->线程->转储线程堆栈)

我收到下面的消息:
服务器必须先运行,然后才能显示线程堆栈。

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

OS:Centos Weblogic:Weblogic服务器版本:10.3.6.0

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


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

当您从控制台执行线程转储命令时,AdminServer和托管服务器通信可能存在问题

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


执行线程转储的推荐方法是OS命令(kill-3)从JDK工具中,jstack用于hostpot,jrcmd用于JRockit。从控制台获取的线程转储可能没有锁相关信息,如果线程转储太长,它可能会被截断。当您从控制台执行线程转储命令时,AdminServer和托管服务器通信可能会出现问题

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


执行线程转储的推荐方法是OS命令(kill-3)在JDK工具中,jstack用于hostpot,jrcmd用于JRockit。从控制台获取的线程转储可能没有锁相关信息,如果线程转储太长,它可能会被截断。我猜您使用的是JDK 7。使用JDK 7时,这是WLS 10.3.6.0中的一种错误。您可以将JDK降级为JDK 6或。

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

您确定要将数据转储到正在运行的服务器吗?可能您正在用“kill”攻击管理服务器我得到了一个转储,它提供了关于应用程序线程的信息。我可以看到线程转储中提到的应用程序类(当我使用kill时)。我正在使用sun jdk。我应该使用jrockit吗?只有jrockit提供此功能,或者sun jdk也有此功能?Hotspot也有此功能,实际上所有JVM都有此功能。无论如何,最好的方法是使用kill,因为用这种方法获得的文本格式可以用工具解析以找出卡住的线程。Threadlogic之类的工具,Samurai等。你确定你正在尝试转储到正在运行的服务器吗?也许你正在用“kill”点击管理服务器。我得到的转储提供了有关应用程序线程的信息。我可以看到线程转储中提到的应用程序类(当我使用kill时)。我正在使用sun jdk。我应该使用jrockit吗?只有jrockit提供此功能,或者sun jdk也有此功能?Hotspot也有此功能,实际上所有JVM都有此功能。无论如何,最好的方法是使用kill,因为用这种方法获得的文本格式可以用工具解析以找出卡住的线程。Threadlogic之类的工具,Samurai等。尝试使用jstack{pid}>stack-trace.logI我能够从命令行获取线程转储。要求是从weblogic控制台本身获取。在这种情况下,管理服务器无法识别托管服务器的状态,因此您会看到错误。您能检查管理日志并粘贴到此处吗?尝试使用jstack{pid}>stack-trace.logI我可以从命令行获取线程转储。要求是从weblogic控制台本身获取。在这种情况下,管理服务器无法识别托管服务器的状态,因此您看到了错误。您可以检查管理日志并粘贴到此处吗?