我在Windows服务器上有websphere应用服务器v 7,我想生成线程转储,因为我有线程hungs,但是当我尝试使用wsadmin获得Java核心时,错误,所以我想用kill -3生成类似linux的java核心文件。如何在Windows服务器上生成没有wsadmin的websphere线程转储
在Windows服务器中是否有这样的东西?
我在Windows服务器上有websphere应用服务器v 7,我想生成线程转储,因为我有线程hungs,但是当我尝试使用wsadmin获得Java核心时,错误,所以我想用kill -3生成类似linux的java核心文件。如何在Windows服务器上生成没有wsadmin的websphere线程转储
在Windows服务器中是否有这样的东西?
总之,没有很好的答案。
最接近的就是使用类似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问题)。
如果您愿意编写一些自定义代码,则可以编写一个Java程序,该程序使用attach API加载调用Dump API的Java代理。 (我怀疑IBM Support Assistant内置此功能,但自从我试图在这一点上做出权威以来,已经太长了。)
当存在“挂起”线程消息时,您可以让JVM执行线程转储在SystemOut.log中: 在JVM的管理>定制属性下添加com.ibm.websphere.threadmonitor.dump.java = true。
和ObiWanKenobi一样,您最好的选择可能是通过Deployment Manager管理控制台。从IBM的技术支持网站:
设置com.ibm.websphere.threadmonitor.dump.java属性为true:
应用服务器:
名称:com.ibm.websphere.threadmonitor.dump.java
值:true
节点代理:
名称:com.ibm.websphere.threadmonitor.dump。的java
值:true