某客戶系統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
- 達夢資料守護系統(主備架構)如何正確重啟備庫架構
- 【支付BUG】呼叫某系統支付介面異常處理小記
- 網路網賭系統注單異常賬戶異常提款不了怎麼辦?
- 記一次 .NET 某教育系統API 異常崩潰分析API
- PostgreSQL異常重啟postmaster.pid處理SQLAST
- 客戶管理系統如何提高客戶滿意度
- 如何篩選CRM客戶系統無效客戶
- 深度覆盤-重啟 etcd 引發的異常
- 網上賭賬戶異常系統稽核不能提款怎麼辦
- 埃森哲報告:重啟客戶體驗
- CRM客戶管理系統對管理客戶的幫助
- VMware - 此主機不支援64位客戶機作業系統作業系統
- 最佳化客戶體驗:五個必備客服系統功能
- 好用的客戶管理系統
- 記一次 .NET 某車零件MES系統 登入異常分析
- WPF 通過程式實現異常隔離的客戶端客戶端
- 【作業系統2】作業系統啟動過程與異常/中斷,系統呼叫作業系統
- 企業客戶管理系統:智慧管理客戶資料 擴充客戶資源
- 三步讓客戶管理系統更易跟進客戶
- 客戶服務CRM系統,提供優質客戶服務
- 微服務架構,客戶端如何catch服務端的異常?微服務架構客戶端服務端
- Laravel 郵件推送系統異常Laravel
- 安全通道異常識別系統
- 【JavaWeb】客戶關係管理系統JavaWeb
- 客戶管理系統的優勢
- CRM客戶管理系統哪家好?
- 企業如何使用CRM客戶管理系統全面瞭解客戶
- Win10系統下開啟深色主題模式的方法Win10模式
- 異常中的異常——藉助系統異常處理特例實現匪夷所思的漏洞利用
- Oracle DG異構主備支援Oracle
- 聊天平臺原始碼,啟動異常進入recovery模式原始碼模式
- VNC客戶端推薦,Windows系統下VNC客戶端推薦VNC客戶端Windows
- CRM客戶管理系統解決金融企業客戶管理難題
- oracle主動丟擲異常Oracle
- 準實時異常檢測系統
- LightDB-高可用主庫常規維護重啟操作
- 利用CRM系統分析客戶資料