【问题标题】:How to take thread dump in Linux environment using jboss-eap-5.1 server如何使用 jboss-eap-5.1 服务器在 Linux 环境中进行线程转储
【发布时间】:2018-08-13 15:25:51
【问题描述】:

如何使用 jboss-eap-5.1 服务器在 Linux 环境中进行线程转储以及如何将该线程转储文件保存在特定文件中。谁能分享一下服务器启动时生成线程转储的命令。

【问题讨论】:

    标签: jboss


    【解决方案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

    【讨论】:

      猜你喜欢
      • 2017-08-06
      • 1970-01-01
      • 2016-05-15
      • 2014-09-08
      • 2016-07-17
      • 2016-03-27
      • 1970-01-01
      • 1970-01-01
      • 2020-08-25
      相关资源
      最近更新 更多