如何使用jboss-eap-5.1服务器在Linux环境中进行线程转储以及如何将该线程转储文件保存在特定文件中。任何人都可以在服务器启动时共享命令以生成线程转储。
答案 0 :(得分: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