我希望配置WebSphere以在手线程数高于40时生成javacore。
我看过这个指南: http://www-01.ibm.com/support/docview.wss?uid=swg21448581
但它会产生很多“假”的coredump,因为我们有一些线程应该运行超过10分钟。
感谢您的帮助!
答案 0 :(得分:0)
您有两个选择:
增加默认超时
如果只是扩展就足够了,当线程被认为是从10分钟挂起到例如20时,那么只需定义以下JVM自定义属性:
com.ibm.websphere.threadmonitor.threshold=1200
有关详细信息,请查看Configuring the hang detection policy
定义自定义健康政策
如果您正在运行WebSphere 8.5 Network Deployment,那么您可以配置运行状况策略以实现您想要的目标。转到Operational policies > Health Policies
并使用以下自定义条件创建新策略:
PMIMetric_FromServerStart$threadPoolModule$concurrentlyHungThreads > 40L
然后向其添加Take threads dump
操作并将其分配给您的服务器。
有关可用条件的详细信息,请检查Custom health conditions和Health management