你如何产生和分析线倾倒从一个运行Boss实例?
-
09-06-2019 - |
题
你如何产生和分析线倾倒从一个运行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控制台
为了产生一线转储:
- 打开JMXConsole(例如:
http://localhost:8080
) - 导航
jboss.system:type=ServerInfo
下列步骤:(提示: 你也许可以只是按CTRL-F和进入类型=通的对话框) - 点击链接的服务器的信息列步骤:.
- 航行到底在那里说
listThreadDump
- 点击,并得到你的线倾倒
注:
如果你使用的你应该使用 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.