如何使用jboss-eap-5.1服务器在Linux环境中进行线程转储

问题描述 投票:0回答:1

如何使用jboss-eap-5.1服务器在Linux环境中进行线程转储以及如何将该线程转储文件保存在特定文件中。任何人都可以共享命令,以便在服务器启动时生成线程转储。

jboss
1个回答
1
投票

最简单的方法是获取JBoss服务器的PID和jstack,它是HotSpot JDK(和我相信的OpenJDK)的一部分,然后将输出写入新文件。如果JBoss的PID是1234:

jstack -l 1234 >> myThread.dmp

如果文件不存在,则双箭头括号将创建该文件,如果该文件存在则附加到该文件,因此您可以进行多个线程转储并保存到同一文件(对于查看随时间的变化非常有用)。

您可以使用linux ps命令和grepping for Java找到JBoss的PID:

ps aux | grep java

或者简单地使用JPS(JDK附带的另一个工具)和“-v”详细选项:

jps -v

此答案适用于任何Java应用程序。

注意:要在JRockit JVM上执行此操作,请使用jrcmd <pid> print_threads而不是jstack

© www.soinside.com 2019 - 2024. All rights reserved.