【问题标题】:how to generate websphere thread dump without wsadmin on windows server如何在 Windows 服务器上生成没有 wsadmin 的 websphere 线程转储
【发布时间】:2015-09-04 17:50:37
【问题描述】:

我有 websphere application server v 7 over windows server,我想生成线程转储,因为我有线程挂起,但是当我尝试使用 wsadmin 获取 java 核心时出现错误,所以我想生成 java 核心文件,如linux 使用 kill -3 。

Windows 服务器中是否有类似的东西?

【问题讨论】:

    标签: windows websphere-7 thread-dump


    【解决方案1】:

    就像 ObiWanKenobi 提到的那样,您最好的选择可能是通过部署管理器管理控制台。来自 IBM 的支持站点:

    将 com.ibm.websphere.threadmonitor.dump.java 属性设置为 true:

    应用服务器:

    1. 在管理控制台中,单击服务器 > 应用程序服务器 > server_name。
    2. 在“服务器基础架构”下,单击“管理”>“自定义属性”。
    3. 单击新建并添加以下属性:

    名称:com.ibm.websphere.threadmonitor.dump.java

    值:真

    1. 点击应用。
    2. 单击确定并保存配置更改。
    3. 重新启动应用程序服务器以使更改生效。

    节点代理:

    1. 在管理控制台中,单击系统管理 > 节点代理 > nodeagent。
    2. 在其他属性下,单击管理服务
    3. 在其他属性下,单击自定义属性
    4. 单击新建并添加以下属性:

    名称:com.ibm.websphere.threadmonitor.dump.java

    值:真

    1. 点击应用。
    2. 单击确定并保存配置更改。
    3. 重新启动节点代理以使更改生效。

    【讨论】:

      【解决方案2】:

      总之,没有好的答案。

      最接近的方法是使用 SendSignal 之类的东西。有关更多信息,请参阅Can I send a ctrl-C (SIGINT) to an application on Windows? 问题。不幸的是,SendSignal 不能在所有版本的 Windows 上可靠地工作(请参阅我的 Send ctrl-break to java process on 64-bit Windows ala sendsignal on 32-bit 问题)。

      如果您愿意编写一些自定义代码,您可以编写一个使用attach API 的Java 程序来加载调用Dump API 的Java 代理。 (我怀疑IBM Support Assistant 内置了这个功能,但是我已经太久没有尝试在这一点上具有权威性了。)

      【讨论】:

        【解决方案3】:

        当 SystemOut.log 中有“挂起”线程消息时,您可以让 JVM 执行线程转储: 在 JVM 的 Administration > Custom Properties 下添加 com.ibm.websphere.threadmonitor.dump.java=true。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-03-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-01-31
          • 1970-01-01
          相关资源
          最近更新 更多