日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時(shí)間:2023/12/3 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 weblogic最大线程_处理Weblogic卡住的线程 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

weblogic最大線程

定義或什么是纏線?
? 如果線程 在設(shè)定 的時(shí)間 內(nèi)連續(xù)工作(非空閑),則WebLogic Server會(huì)將其診斷為阻塞 您可以通過(guò)更改在診斷出線程被阻塞之前的時(shí)間長(zhǎng)度( Stuck Thread Max Time ),以及通過(guò)更改服務(wù)器檢查線程是否被阻塞的頻率,來(lái)調(diào)整服務(wù)器的線程檢測(cè)行為。 在此處查看如何更改“粘線最大時(shí)間”。

問(wèn)題還是為什么“粘線”是邪惡的?
?
WebLogic Server自動(dòng)檢測(cè)執(zhí)行隊(duì)列中的線程何時(shí)變?yōu)椤白枞睜顟B(tài)。 由于卡住的線程無(wú)法完成其當(dāng)前工作或接受新工作,因此服務(wù)器每次診斷出卡住的線程時(shí)都會(huì)記錄一條消息。 如果執(zhí)行隊(duì)列中的所有線程都卡住,服務(wù)器將根據(jù)執(zhí)行隊(duì)列將其運(yùn)行狀況更改為“警告”或“嚴(yán)重”:

  • 如果默認(rèn)隊(duì)列中的所有線程都卡住,則服務(wù)器會(huì)將其運(yùn)行狀況更改為“ 嚴(yán)重” 。 (您可以將Node Manager應(yīng)用程序設(shè)置為在嚴(yán)重運(yùn)行狀態(tài)下自動(dòng)關(guān)閉和重新啟動(dòng)服務(wù)器。有關(guān)更多信息,請(qǐng)參閱“配置和管理WebLogic Server”中的“ Node Manager功能 ”。)
  • 如果weblogic.admin.HTTP,weblogic.admin.RMI或用戶定義的執(zhí)行隊(duì)列中的所有線程都卡住了,則服務(wù)器會(huì)將其運(yùn)行狀況更改為“ 警告”
因此,實(shí)際上,幾個(gè)“阻塞線程”可能不會(huì)使服務(wù)器崩潰,從而阻止服務(wù)器處理請(qǐng)求,但這是一個(gè)不好的信號(hào)。 通常,卡住的線程數(shù)將增加,并且服務(wù)器最終將崩潰。

為避免應(yīng)用程序完全失敗該怎么辦?
?

WebLogic Server會(huì)定期檢查卡住的線程(這是“ 卡住線程計(jì)時(shí)器間隔” ,您可以在此處進(jìn)行調(diào)整)。 如果所有應(yīng)用程序線程都卡住,則服務(wù)器實(shí)例將自身標(biāo)記為失敗,如果配置為失敗,則退出。 您可以配置節(jié)點(diǎn)管理器或第三方高可用性解決方案以重新啟動(dòng)服務(wù)器實(shí)例以進(jìn)行自動(dòng)故障恢復(fù)。您可以將以下操作配置為在并非所有線程都卡住但卡住的線程數(shù)超過(guò)配置的閾值時(shí)發(fā)生:如果工作管理器卡住了線程,請(qǐng)關(guān)閉它。 關(guān)閉的工作管理器將通過(guò)發(fā)送拒絕消息來(lái)拒絕新工作并拒絕隊(duì)列中的現(xiàn)有工作。 在群集中,群集客戶端將故障轉(zhuǎn)移到另一個(gè)群集成員。
  • 如果應(yīng)用程序中存在線程阻塞,請(qǐng)關(guān)閉應(yīng)用程序。 通過(guò)使其進(jìn)入管理模式來(lái)關(guān)閉該應(yīng)用程序。 屬于該應(yīng)用程序的所有工作管理器都將關(guān)閉,并按上述方式運(yùn)行。
  • 將服務(wù)器實(shí)例標(biāo)記為失敗,如果服務(wù)器中存在線程阻塞,則將其關(guān)閉。 在群集中,已連接或嘗試連接的群集客戶端將故障轉(zhuǎn)移到另一個(gè)群集成員。

如何識(shí)別問(wèn)題?
?

推薦的方法是檢查線程轉(zhuǎn)儲(chǔ)。 選中“ 發(fā)送電子郵件警報(bào)以查找有關(guān)帶有線程轉(zhuǎn)儲(chǔ)的線程卡住的中間件魔術(shù)文章” ,使線程轉(zhuǎn)儲(chǔ)在發(fā)生時(shí)自動(dòng)發(fā)送給您。

幫助您分析線程轉(zhuǎn)儲(chǔ)的工具有:

  • TDA –線程轉(zhuǎn)儲(chǔ)分析器
  • 武士

如何解決該問(wèn)題?
?

確定導(dǎo)致卡住線程的代碼(即執(zhí)行所花費(fèi)的時(shí)間超過(guò)堆棧線程的最大時(shí)間)后,可以使用工作管理器執(zhí)行代碼。 工作管理器具有“忽略卡住線程”選項(xiàng),該選項(xiàng)使您能夠執(zhí)行長(zhǎng)時(shí)間運(yùn)行的作業(yè)。 見(jiàn)下文:

以下是有關(guān)如何創(chuàng)建工作管理器的一些帖子

  • 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

測(cè)試:如何創(chuàng)建卡死線程?
?
如何創(chuàng)建“卡住線程”以測(cè)試您的weblogic設(shè)置? 將斷點(diǎn)放在請(qǐng)求所調(diào)用的支持bean或模型方法中。 如果您在斷點(diǎn)處等待“最大線程停留時(shí)間”,則會(huì)注意到服務(wù)器日志中將顯示“線程滯留”跟蹤:

<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卡住了線程:創(chuàng)建,理解和處理它們 。 已針對(duì)Weblogic 12c更新。 還包括用于創(chuàng)建“粘滯線程”的示例應(yīng)用程序。
  • 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最大線程

總結(jié)

以上是生活随笔為你收集整理的weblogic最大线程_处理Weblogic卡住的线程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。