某客戶系統weblogic主備模式異常重啟事件
今天給大家帶了了一篇weblogic中介軟體故障事件經歷,那是在某年某月某日某時某分,突然電話響了瞄了一眼,看見那熟悉的號碼,感覺不好會有緊急事件要發生了。是現場一線運維同事打過來的,最近幾天系統的weblogic總是異常罷工總是反覆重啟。需要緊急去現場解決問題。
筆者以最快的速度叫了一輛車來到了現場,看見現場的兄弟們很無賴表情的看著我,專家,你總算來了。筆者一邊聽現場兄弟描述故障現象,一邊開電腦準備連線現場環境。總算了解清楚現場情況,現在開始幹活了。先登入weblogic控制檯檢查服務正常,但從日誌中發現weblogic服務在半分鐘後就自動重啟成功。但如果頻繁發生類似問題勢必會給業務帶來不良影響
現場環境是一套Weblogic10.0 MP1 HA架構,weblogic與DB都在同一臺主機,一旦主機發生異常就會透過HA軟體進行主備切換,接著HA軟體就會自動拉起DB資料庫和weblogic應用。而HA的自檢機制是每隔1-2分鐘去呼叫一次weblogic_auto.sh指令碼來檢查weblogic服務執行狀態,一旦檢查到weblogic其中一個程式服務失敗就返回給HA的值是非0,指令碼會有一次自動重啟weblogic服務機會。如果這一次自動重啟失敗後,那就沒有機會了,HA就會自動切換到備機。如下圖是自檢指令碼操作流程:
從上面操作流程來看是沒有什麼問題,切入點回到日誌中去排查
在故障時間點獲取了domain中weblogic服務日誌都有發現重啟的跡象,現挑出其中一套環境的weblogic日誌和weblogic自檢啟動指令碼日誌,針對這兩個日誌做出詳細分析:
1)、我們在故障時間點2020-1-9 下午03時30分09秒,發現weblogic服務日誌中有報錯java.lang.OutOfMemoryError: unable to create new native thread,此錯會導致執行緒無資源建立,會讓weblogic服務hang,系統訪問會變緩慢。這並不是導致weblogic服務致命問題。此刻weblogic服務已經異常了。
2)、在故障時間點2020-1-9 下午03時30分03秒,從weblogic自檢日誌中有發現HA程式呼叫weblogic_auto.sh status去自檢weblogic的服務執行狀態,但檢查的過程中無法正常獲取weblogic服務狀態,也報了java.lang.OutOfMemoryError: unable to create new native thread。這個肯定不是巧合,發現指令執行失敗返回來的值是不正常的,因此判定weblogic狀態是異常。最終weblogic自檢指令碼發起weblogic服務重啟指令,來重啟weblogic服務,這才是問題的原因導致。
3)、在故障時間點2020-1-9 下午03時31分43秒,weblogic服務開始啟動,最後在2020-1-9 下午03時32分10秒左右,weblogic服務啟動成功。
最終總結透過上面的資料證據表明此次weblogic自動重啟事件原因是java.lang.OutOfMemoryError: unable to create new native thread因記憶體溢位資源不足導致新執行緒沒有資源可分配。HA程式會每隔1-2分鐘去呼叫weblogic_auto.sh來檢查weblogic服務執行狀態,指令碼在獲取狀態異常報錯(OutOfMemoryError),最後返回給HA是非0值,自檢指令碼會自動重啟weblogic這個服務程式。所以排除作業系統kill weblogic服務程式。
針對此次事件總結最佳化建議如下:
1、建議調大JVM記憶體空間,基礎上擴容1倍。
2、將當前HA架構改造成weblogic cluster模式,提升資源利用率,保障系統高可用。
3、在JVM虛擬機器中增加記憶體溢位引數和增加的GC引數,有利於系統出現記憶體溢位方便記憶體故障排查問題分析。
有需要的朋友可以關注我的公眾號,文章每日一更
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28833846/viewspace-2723059/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 某客戶系統tomcat連線池連線異常Tomcat
- 達夢資料守護系統(主備架構)如何正確重啟備庫架構
- Linux系統ls異常會影響網路服務重啟操作Linux
- 【支付BUG】呼叫某系統支付介面異常處理小記
- 網路網賭系統注單異常賬戶異常提款不了怎麼辦?
- zabbix server壓力大問題:啟用agent客戶端主動模式Server客戶端模式
- 專案分享九:客戶端的異常處理客戶端
- 如何篩選CRM客戶系統無效客戶
- 客戶管理系統如何提高客戶滿意度
- 作業系統Win7或Win8客戶端連線異常緩慢問題作業系統Win7客戶端
- 記一次 .NET 某教育系統API 異常崩潰分析API
- 客戶主資料
- PostgreSQL異常重啟postmaster.pid處理SQLAST
- CRM客戶管理系統對管理客戶的幫助
- 好用的客戶管理系統
- VMware - 此主機不支援64位客戶機作業系統作業系統
- 網上賭賬戶異常系統稽核不能提款怎麼辦
- 準備客戶面試面試
- 註冊客戶端事件客戶端事件
- WPF 通過程式實現異常隔離的客戶端客戶端
- WCF服務端丟擲的異常會跑到客戶端服務端客戶端
- 企業客戶管理系統:智慧管理客戶資料 擴充客戶資源
- 最佳化客戶體驗:五個必備客服系統功能
- 三步讓客戶管理系統更易跟進客戶
- 客戶服務CRM系統,提供優質客戶服務
- 資料庫重啟,TSM不能備份,需要在TSM的客戶端(ORACLE)啟動TSM監控程式資料庫客戶端Oracle
- 解決WebLogic啟動時BEA-171522異常(啟動時報classcast exception)WebASTException
- 【作業系統2】作業系統啟動過程與異常/中斷,系統呼叫作業系統
- 記一次 .NET 某車零件MES系統 登入異常分析
- 【JavaWeb】客戶關係管理系統JavaWeb
- CRM客戶管理系統哪家好?
- 客戶管理系統的優勢
- powerVM客戶端系統盤克隆客戶端
- 作業系統 中斷異常系統呼叫作業系統
- 微服務架構,客戶端如何catch服務端的異常?微服務架構客戶端服務端
- 企業如何使用CRM客戶管理系統全面瞭解客戶
- DropDownList設定客戶端事件客戶端事件
- Laravel 郵件推送系統異常Laravel