weblogic最大线程_处理Weblogic卡住的线程

weblogic最大线程

定义或什么是缠线?
 
如果线程 在设定 的时间 内连续工作(非空闲),则WebLogic Server会将其诊断为阻塞
您可以通过更改在诊断出线程被阻塞之前的时间长度( Stuck Thread Max Time ),以及通过更改服务器检查线程是否被阻塞的频率,来调整服务器的线程检测行为。 在此处查看如何更改“粘线最大时间”。

问题还是为什么“粘线”是邪恶的?
 
WebLogic Server自动检测执行队列中的线程何时变为“阻塞”状态。 由于卡住的线程无法完成其当前工作或接受新工作,因此服务器每次诊断出卡住的线程时都会记录一条消息。 如果执行队列中的所有线程都卡住,服务器将根据执行队列将其运行状况更改为“警告”或“严重”:

  • 如果默认队列中的所有线程都卡住,则服务器会将其运行状况更改为“ 严重” 。 (您可以将Node Manager应用程序设置为在严重运行状态下自动关闭和重新启动服务器。有关更多信息,请参阅“配置和管理WebLogic Server”中的“ Node Manager功能 ”。)
  • 如果weblogic.admin.HTTP,weblogic.admin.RMI或用户定义的执行队列中的所有线程都卡住了,则服务器会将其运行状况更改为“ 警告”
因此,实际上,几个“阻塞线程”可能不会使服务器崩溃,从而阻止服务器处理请求,但这是一个不好的信号。 通常,卡住的线程数将增加,并且服务器最终将崩溃。

为避免应用程序完全失败该怎么办?
 

WebLogic Server会定期检查卡住的线程(这是“ 卡住线程计时器间隔” ,您可以在此处进行调整)。 如果所有应用程序线程都卡住,则服务器实例将自身标记为失败,如果配置为失败,则退出。 您可以配置节点管理器或第三方高可用性解决方案以重新启动服务器实例以进行自动故障恢复。您可以将以下操作配置为在并非所有线程都卡住但卡住的线程数超过配置的阈值时发生:如果工作管理器卡住了线程,请关闭它。 关闭的工作管理器将通过发送拒绝消息来拒绝新工作并拒绝队列中的现有工作。 在群集中,群集客户端将故障转移到另一个群集成员。
  • 如果应用程序中存在线程阻塞,请关闭应用程序。 通过使其进入管理模式来关闭该应用程序。 属于该应用程序的所有工作管理器都将关闭,并按上述方式运行。
  • 将服务器实例标记为失败,如果服务器中存在线程阻塞,则将其关闭。 在群集中,已连接或尝试连接的群集客户端将故障转移到另一个群集成员。

如何识别问题?
 

推荐的方法是检查线程转储。 选中“ 发送电子邮件警报以查找有关带有线程转储的线程卡住的中间件魔术文章” ,使线程转储在发生时自动发送给您。

帮助您分析线程转储的工具有:

  • TDA –线程转储分析器
  • 武士

如何解决该问题?
 

确定导致卡住线程的代码(即执行所花费的时间超过堆栈线程的最大时间)后,可以使用工作管理器执行代码。 工作管理器具有“忽略卡住线程”选项,该选项使您能够执行长时间运行的作业。 见下文:

以下是有关如何创建工作管理器的一些帖子

  • https://blogs.oracle.com/jamesbayer/entry/work_manager_leash_for_slow_js
  • http://jdeveloperfaq.blogspot.com/2011/05/faq-34-using-weblogic-work-managers-to.html

测试:如何创建卡死线程?
 
如何创建“卡住线程”以测试您的weblogic设置? 将断点放在请求所调用的支持bean或模型方法中。 如果您在断点处等待“最大线程停留时间”,则会注意到服务器日志中将显示“线程滞留”跟踪:

<16 =?? 2011 12:28:22 ?? EET><Error><WebLogicServer><BEA-000337><[STUCK] ExecuteThread: '2' for queue: 
'weblogic.kernel.Default (self-tuning)' has been busy for "134" seconds working on the 
request "weblogic.servlet.internal.ServletRequestImpl@6e6f4718[
GET /---/---/----/---/days.xhtml HTTP/1.1
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: JSESSIONID=DYG5TDTZSnKLTFw5CMMdLCD9sPsZS4Jqlmxj9wdGNyt1BnPcfNrR!-1520792836]", which is more than the configured time (StuckThreadMaxTime) of "60" seconds. Stack trace:--------------------------------------------(--------------------.java:83)javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:823)com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:285)com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:848)org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:55)org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:43)org.primefaces.component.fieldset.FieldsetRenderer.encodeContent(FieldsetRenderer.java:95)org.primefaces.component.fieldset.FieldsetRenderer.encodeMarkup(FieldsetRenderer.java:76)org.primefaces.component.fieldset.FieldsetRenderer.encodeEnd(FieldsetRenderer.java:53)javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:878)javax.faces.component.UIComponent.encodeAll(UIComponent.java:1620)javax.faces.render.Renderer.encodeChildren(Renderer.java:168)javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:848)org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:55)org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:43)org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:229)org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:152)

更多挖掘:

  • 弗兰克·芒茨(Frank Munz)的精彩文章: WebLogic卡住了线程:创建,理解和处理它们 。 已针对Weblogic 12c更新。 还包括用于创建“粘滞线程”的示例应用程序。
  • http://stackoverflow.com/questions/2709410/weblogic-stuck-thread-protection

src:

  • Maxence Button的精彩文章: http : //m-button.blogspot.com/2008/07/using-wlst-to-perform-regular.html
  • http://download.oracle.com/docs/cd/E13222_01/wls/docs81/perfor/WLSTuning.html#1125714
  • http://download.oracle.com/docs/cd/E21764_01/web.1111/e13701/overload.htm
  • http://java.sys-con.com/node/358060?page=0,0

参考:在ADF和Weblogic How To博客上, 与我们的JCG合作伙伴 Spyros Doulgeridis 处理Weblogic的粘滞线程 。


翻译自: https://www.javacodegeeks.com/2012/05/dealing-with-weblogic-stuck-threads.html

weblogic最大线程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

步进电机的正反向旋转c语言编程,实现步进电机自动正反转程序怎么写

本文收集整理关于实现步进电机自动正反转程序怎么写的相关议题&#xff0c;使用内容导航快速到达。内容导航&#xff1a;Q1&#xff1a;用c语言程序实现步进电机的正反转加减速的编程内容&#xff1a;1、本程序用于测试4相步进电机常规驱动2、需要用跳帽或者杜邦线把信号输出端…

常用容器(Collection)实现类总结(四)——HashSet

HashSet简略说明: 此类实现 Set 接口&#xff0c;由哈希表&#xff08;实际上是一个 HashMap 实例&#xff09;支持。它不保证 set 的迭代顺序&#xff1b;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。 (This class implements the Set interface, backed by a has…

Mockito验证

本文是我们名为“ 用Mockito进行测试 ”的学院课程的一部分。 在本课程中&#xff0c;您将深入了解Mockito的魔力。 您将了解有关“模拟”&#xff0c;“间谍”和“部分模拟”的信息&#xff0c;以及它们相应的Stubbing行为。 您还将看到使用测试双打和对象匹配器进行验证的过…

js页面传值(注意中文)

页面a&#xff08;传送&#xff09;&#xff1a; var myUrlhttp://www.xxx?myParaencodeURI(中文参数);页面b&#xff08;接收&#xff0c;注意中文&#xff09;: //var myPara request("myPara"); function request(paras){// var url location.href;var urldeco…

stax 和jaxb 关系_XML解组基准:JAXB,STAx,Woodstox

stax 和jaxb 关系介绍 上周末&#xff0c;我开始考虑如何以一种资源友好的方式处理大量XML数据。我要解决的主要问题是如何以块的形式处理大型XML文件&#xff0c;同时提供上游/下游系统&#xff0c;需要处理一些数据。 当然&#xff0c;我已经使用JAXB技术已有几年了。 使用J…

C语言switch怎么算,超级新手,用switch写了个计算器程序,求指导

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼我也写过一个。。。。看样子大家都喜欢用 switch()来写计算机。。。。百度排版是渣渣&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;# includeintmain(void){ doublea, b, c;//a: 被X数&#xff0c; b: X数&#x…

vim编辑器初级(七)

:syntax on  打开语法高亮 :syntax off  关闭语法高亮 vim有两套语法颜色方案&#xff0c;分别用于背景亮和背景暗时&#xff0c;当vim启动时它会尝试辨别背景并选择合适的颜色方案&#xff0c;但vim辨别背景时可能出错 :set background?  查看background选项的值为多少…

如何编写Java代理

对于vmlens &#xff08;轻量级Java竞争条件捕获器&#xff09;&#xff0c;我们使用Java代理来跟踪字段访问。 这是我们学习的实现此类代理的经验教训。 开始 使用“ static public static void premain&#xff08;String args&#xff0c;Instrumentation inst&#xff09;…

48道C语言上机题参考答案,二级C语言上机题库参考答案(已修改).doc

二级C语言上机题库参考答案(已修改).doc下载提示(请认真阅读)1.请仔细阅读文档&#xff0c;确保文档完整性&#xff0c;对于不预览、不比对内容而直接下载带来的问题本站不予受理。2.下载的文档&#xff0c;不会出现我们的网址水印。3、该文档所得收入(下载内容预览)归上传者、…

Python练习-从小就背不下来的99乘法表

心血来潮,灵机一动,反正就是无聊的做了一个很简单的小玩意: for i in range(1,10):#让i 1-9 循环9次print("\n")#每循环一次进行一次换行for j in range(1,10):#让j 1-9 循环9次print(j, "x",i , "", i * j," ",end"")#输出…

快速排序 数组 函数 c语言,书上快速排序程序中子函数是怎样更改数组的?理论上不可实现啊...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼return不可能返回数组&#xff0c;于是子hanshu1quicksort最后没有用return&#xff0c;但是没有return又怎么可以更改a[N]&#xff1f;主函数中的quicksort(a, 0, N - 1);将a[N]复制后传递给形参a&#xff0c;quicksort(a, 0, N -…

(原创)SpringBoot入门

本文章是SpringBoot入门的介绍在这里 我会尽量写一些细节性的东西,我用的是IDEA2016 Tomcat7 JDK1.8 Maven3.3.9 IDEA Tomcat JDK Maven的安装我就不详细了, 这里我会提到Maven的安装和如何使用阿里云的镜像,因为官网的JAR下载真的是...比乌龟还慢 先从Maven的配置开始,到官…

jbox2d_JBox2D和JavaFX:事件与力量

jbox2d在昨天的示例中&#xff0c;您看到了如何创建一个简单的世界并使用WorldView进行显示&#xff0c;以及如何提供自定义渲染器。 现在&#xff0c;我们将添加一些用户输入。 我们将创建一个类似于弹球机中的鳍状肢的控件。 为此&#xff0c;我们将创建一个关节。 在JBox2D中…

整数因子分解c语言递归,整数因子分解:计算一个整数所有的分解式(递归实现)...

原始问题描述&#xff1a;对于给定的正整数n&#xff0c;计算n有多少种不同的分解式。例如&#xff0c;当n12时&#xff0c;有8种不同的分解式&#xff1a;1212,1262,1243,1234,12322,1226,12232 ,12223对n的每个因子递归搜索&#xff0c;代码如下&#xff1a;void solve (int …

Tomcat 部署了web项目中文乱码

本地Tomcat 启动&#xff0c;网页端的中文传到后台显示乱码。 查询前段已经设置了 UTF-8格式&#xff0c; 后台收到中文的依然是乱码&#xff0c;原来是Tomcat的配置问题。 修改Tomcat的配置文件server.xml &#xff0c;添加一个属性 URIEncoding"UTF-8"&#xff0c;…

电脑基础c语言,C语言经验: 如何从零基础学习C语言?

C语言是面向过程的&#xff0c;而C 是面向对象的C和C 之间的区别:C是一种结构化语言&#xff0c;其重点是算法和数据结构. 在C程序设计中&#xff0c;首先要考虑的是如何通过过程来处理输入(或环境条件)以获得输出(或实现过程(事务)控制).C &#xff0c;首先要考虑的是如何构建…

Android布局动态化,一种基于堆积木思想的卡片式Android动态布局方法与流程

本发明涉及android界面布局&#xff0c;特别是一种基于堆积木思想的卡片式Android动态布局方法。背景技术&#xff1a;在Android流行的今天&#xff0c;android App在生活中使用日益广泛&#xff0c;相对PC&#xff0c;手机由于界面的尺寸的限制&#xff0c;手机的UI设计和布局…

java cpu_Java High CPU故障排除指南–第1部分

java cpu本文是该系列的第1部分&#xff0c;它将为您提供有关如何进行故障排除和识别Java高CPU问题根本原因的综合指南。 本指南也适用于独立的Java程序&#xff0c;但旨在帮助涉及Java EE企业日常生产支持的个人。 它还将包括最常见的高级CPU问题列表以及高级解决方案。 生产…

android:ellipsize=end 不起作用,android:ellipsize=end 失效或者 相关的Bug

其实这文章有点傻逼。相关的问题TextView android:ellipsize“end”超出一个字符时不显示…的解决http://www.pocketdigi.com/20140122/1261.html上面我到没有遇到过。但是我遇到的更神奇。就是在使用android:ellipsize“end”正常的情况下这个属性。该textView的文本就不能加入…

适用于具有Couchbase和WildFly的多容器和多主机应用程序的Docker Machine,Swarm和Compose...

该博客将说明如何使用Docker创建部署在多个主机上的多容器应用程序。 这将使用Docker Machine&#xff0c;Swarm和Compose实现。 是的&#xff0c;所有这三个工具一起使此博客更加有趣&#xff01; 该图说明了关键组件&#xff1a; Docker Machine用于配置多个Docker主机 …