weblogic 10后台出现警告,原因:ThreadPool has stuck threads

在WEBLOGIC中如果一个线程执行时间超过了Stuck Thread Max Time规定的时间,

WEBLOGIC会把它认为是STUCK线程,并记录在日志中。

我们也可以通过'Dump Thread Stacks' 来捕获STUCK状态的进程。

Home > Summary of Servers > AdminServer>Monitoring>Performance>'Dump Thread Stacks'

 但并不是每次'Dump Thread Stacks' 都能捕获Stuck状态的进程。

 只有在线程执行时间超过了Stuck Thread Max Time规定的时间

 我们才有可能通过'Dump Thread Stacks' 或WEBLOGIC的日志捕获它。

通常我们通过'Dump Thread Stacks'能捕获到以下信息。

"[STUCK] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE native

jrockit.NET.SocketNativeIO.readBytesPinned(Native Method)

jrockit.Net.SocketNativeIO.socketRead(SocketNativeIO.Java:32)

java.net.SocketInputStream.socketRead0(SocketInputStream.java)

java.net.SocketInputStream.read(SocketInputStream.java:129)

java.io.BufferedInputStream.fill(BufferedInputStream.java:218)

java.io.BufferedInputStream.read1(BufferedInputStream.java:256)

java.io.BufferedInputStream.read(BufferedInputStream.java:313)

com.informix.asf.IfxDataInputStream.readFully(IfxDataInputStream.java:146)

com.informix.asf.IfxDataInputStream.readSmallInt(IfxDataInputStream.java:453)

在WEBLOGIC的日志中我们能看到如下信息:

<2010-11-8 下午02时38分28秒 CST> <Error> <WebLogicServer> <BEA-000337> <[STUCK]
 ExecuteThread: '189' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "115" seconds
 working on the request "Http Request: /prpall/business/selectPolicy.do", which is more than the configured
 time (StuckThreadMaxTime) of "30" seconds. Stack trace:
        java.net.SocketInputStream.socketRead0(Native Method)
        java.net.SocketInputStream.read(SocketInputStream.java:129)
        java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
        java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
        java.io.BufferedInputStream.read(BufferedInputStream.java:313)
        com.informix.asf.IfxDataInputStream.readFully(IfxDataInputStream.java:146)
        com.informix.asf.IfxDataInputStream.readSmallInt(IfxDataInputStream.java:453)
        com.informix.jdbc.IfxSqli.receiveMessage(IfxSqli.java:2495)
        com.informix.jdbc.IfxSqli.a(IfxSqli.java:1752)
        com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java:1704)
        com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java:1635)
        com.informix.jdbc.IfxResultSet.a(IfxResultSet.java:206)
        com.informix.jdbc.IfxStatement.executeQueryImpl(IfxStatement.java:1229)
        com.informix.jdbc.IfxPreparedStatement.executeQuery(IfxPreparedStatement.java:376)
        weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:100)

在压力测试阶段为了捕获执行时间长的进程我们可以调整

weblogic中的Stuck Thread Max Time 为一个较小的值。

来捕获并发测试时stuck状态的进程。比如30秒。

通常在产品环境中设置此参数值为600秒。

Home > Summary of Servers > AdminServer  >Tuning >Stuck Thread Max Time

以下是weblogic的联机文档中对Stuck Thread Max Time 的解释

 

The number of seconds that a thread must be continually working before this server considers the thread stuck.

For example, if you set this to 600 seconds, WebLogic Server
considers a thread to be "stuck" after 600 seconds of continuous use.

In Web Logic Server 9.x and later, it is recommended that you use the
ServerFailureTriggerMBean in the OverloadProtectionMBean. The
ServerFailureTriggerMBean transitions the server to a FAILED state after
the specified number of stuck threads are detected. The
OverloadProtectionMBean has options to suspend or shutdown a failed
server.

MBean Attribute:
ServerMBean.StuckThreadMaxTime

Minimum value: 0

Maximum value: 2147483647

Changes take effect after you redeploy the module or restart the server

ThreadPool has stuck threads的更多相关文章

  1. weblogic threadpool has stuck threads

    https://blog.csdn.net/wyx713510713/article/details/12705221 最近项目启动时出问题,weblogic的nohup日志文件中找到下面一段(红色部 ...

  2. weblogic threadpool has stuck threads引发内存溢出

    转至:https://blog.csdn.net/wyx713510713/article/details/12705221?utm_source=copy 最近项目老是出问题,weblogic的no ...

  3. 云计算之路-阿里云上:从ASP.NET线程角度对“黑色30秒”问题的全新分析

    在这篇博文中,我们抛开对阿里云的怀疑,完全从ASP.NET的角度进行分析,看能不能找到针对问题现象的更合理的解释. “黑色30秒”问题现象的主要特征是:排队的请求(Requests Queued)突增 ...

  4. Apache Thrift 跨语言服务开发框架

    Apache Thrift 是一种支持多种编程语言的远程服务调用框架,由 Facebook 于 2007 年开发,并于 2008 年进入 Apache 开源项目管理.Apache Thrift 通过 ...

  5. Microshaoft WinDbg cmdtree

    windbg ANSI Command Tree 1.0 title {"Microshaoft Commands"} body {"cmdtree"} {&q ...

  6. Quartzs -- Quartz.properties 配置

    Quartzs -- Quartz.properties 配置 文件加载位置 默认:优先顺序 Classpath:quartz.properties --> org/quartz/quartz. ...

  7. Thread Pool Engine, and Work-Stealing scheduling algorithm

    http://pages.videotron.com/aminer/threadpool.htm http://pages.videotron.com/aminer/zip/threadpool.zi ...

  8. 使用C++11 实现的线程池

    最近打算做一个服务器端程序,每来一个客户端请求新开一个线程进行处理.在网上查了一些资料后,准备使用线程池来做这个东西.使用C++11新的库处理想线程问题比以前简单了许多,在网上找到一份线程池的实现,h ...

  9. 多线程 Worker Thread 模式

    Worker是“工人”的意思,worker thread pattern中,工人线程(worker thread)会一次抓一件工作来处理,当没有工作可做时,工人线程会停下来等待心得工作过来. Work ...

随机推荐

  1. Qt 事件处理机制 (上篇)

    本篇来介绍Qt 事件处理机制 .深入了解事件处理系统对于每个学习Qt人来说非常重要,可以说,Qt是以事件驱动的UI工具集. 大家熟知Signals/Slots在多线程的实现也依赖于Qt的事件处理机制. ...

  2. java笔试题(5)

    1.Comparable和Comparator接口是干什么的?列出它们的区别. Java提供了只包含一个compareTo()方法的Comparable接口.这个方法可以个给两个对象排序.具体来说,它 ...

  3. 【算法】Logistic regression (逻辑回归) 概述

    Logistic regression (逻辑回归)是当前业界比较常用的机器学习方法,用于估计某种事物的可能性.比如某用户购买某商品的可能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等 ...

  4. NGUI系列教程七(序列帧动画)

    今天我给大家讲一下如何使用NGUI做序列帧动画.本节主要包括两方面内容,分别是使用UIspirit和使用UITexture 做序列帧动画.废话不说了,下面开始.还要在啰嗦一句,首先大家要准备一些序列帧 ...

  5. vbox下安装centos (全部都是基于64位)

    1.首先提示说CPU内核不匹配,如下图: 于是查阅资料得知:64位CPU支持32位和64位,而要用64位内核,就需要主板支持,于是修改BIOS,在ADVANCE(高级)里,找到VT(也就是virtua ...

  6. JS生成EXCEL(Chrome浏览器)

    直接使用js+Html生成excel文件,当前版本:chrome浏览器 <!DOCTYPE html> <html> <head> <meta charset ...

  7. 查看慢sql语句

    查看慢sql语句 st.text AS SQL_Full --父级完整语句 ,) , ((CASE statement_end_offset THEN DATALENGTH(st.text) ELSE ...

  8. OFBiz:初始RequestHandler

    RequestHandler,可以称之为请求处理器,在ControlServlet.init()中初始化: public class ControlServlet extends HttpServle ...

  9. 虚拟机VMware下CentOS6.5安装教程图文详解(VMnet8)

    (写在最前面:如果你下载的iso文件 CentOS-6.*-x86_64-minimal.iso 系列,那么需要这么安装:https://blog.csdn.net/lixianlin/article ...

  10. 数据库-IO系统性能之衡量性能的几个指标

    转自http://storage.it168.com/a2011/0323/1169/000001169755_all.shtml 作为一个数据库管理员,关注系统的性能是日常最重要的工作之一,而在所关 ...