你如何产生和分析线倾倒从一个运行Boss实例?

有帮助吗?

解决方案

有一个Boss特定的方法略微更为用户友好的:

http://community.jboss.org/wiki/GenerateAThreadDumpWithTheJMXConsole

这是特别有用,当你不具备直接进入主机的机器(其中"杀死"将需要).

其他提示

http://java.sun.com/developer/technicalArticles/Programming/Stacktrace/

...

"UNIX平台上可以发送一个信号,以一个程序通过使用杀的命令。这是退出信号,这是由JVM。例如,在Solaris可以使用的命令杀戒process_id,其中process_id的过程是数Java程序。

或者你可以进入关键的序列 <ctrl>\在窗口在哪里Java程序的开始。发送这种信号,指示信号处理在JVM,递归的打印出所有的信息在线和监测的内部JVM。"

...

"确定在线国

你会看到许多不同的线在许多不同的国家在快照,从一个JVM堆踪。关键用是:

R运行或可运行的螺纹

S悬挂线

CW线等候条件变量

MW线等待在监视器上锁

MS线暂停,等待在监视器上的锁"

这堆栈跟踪程序发现 在这里, 也是有用的,尤其是在Windows的机器当java程序是不是开始从命令行。

螺纹。getAllStackTraces()(由于Java1.5)

两种选择:

备选案文1 产生一线倾倒使用JMS控制台

为了产生一线转储:

  1. 打开JMXConsole(例如: http://localhost:8080 )
  2. 导航 jboss.system:type=ServerInfo 下列步骤:(提示: 你也许可以只是按CTRL-F和进入类型=通的对话框)
  3. 点击链接的服务器的信息列步骤:.
  4. 航行到底在那里说 listThreadDump
  5. 点击,并得到你的线倾倒

注:

如果你使用的你应该使用 File > Save As 保存输出而不是复制的数据的一个文本编辑器。由于某些原因当你复制的文本,从Internet Explorer线的中断是不是复制和所有的输出结束了在一个单一的线。

备选案文2 产生一线倾倒使用旋转

或者您可以使用的旋转向执行 listThreadDump() 方法和管返回的HTML直接的文件。使用这个命令行:

<JBOSS_HOME>/bin/twiddle invoke "jboss.system:type=ServerInfo" listThreadDump > threads.html

有时Boss锁这么多,甚至jms-concole没有回应。在这种情况下使用杀-3在Linux和 SendSignal 在窗户。

https://community.jboss.org/wiki/ThreadDumpJSP 网页设有独立自足的threaddump.战争可以使用没有JMS.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top