一次線上tomcat OOM故障排查

2021-10-06 03:32:53 字數 615 閱讀 7485

公司的一組tomcat集群最近隔段時間出現oom故障的問題,間隔時間以及發生故障的tomcat也是隨機的,一時定位不到問題

發生oom時 ,使用

jmap -dump:file=檔名.dump [pid]
一直無法dump出堆記憶體,於是給所有tomcat啟動指令碼配置引數,發生oom時匯出堆記憶體快照。

-xx:+heapdumponoutofmemoryerror -xx:heapdumppath=目錄.hprof

最後使用mat分析記憶體快照。

發現大量的hibernate實體類物件,占用1.3g的堆記憶體空間。

基本可以定位是查詢出了問題。

排查**後發現,原來開發人員在介面上沒有做校驗,雖然對端系統的特性以及介面文件規範使用者賬號是必須攜帶,

但可能由於異常的原因導致沒有任何查詢引數攜帶,導致查詢資料庫全部資料。。

介面加上引數校驗後恢復正常 。

一次線上故障引發的警示

這次引發的線上故障和我有直接關係,現分析一下這次故障產生的原因和經驗教訓,還請大家引以為戒。原因分析 1 在 公升級包開發過程中,編寫偽登陸介面測試用例時走讀介面 發現對介面引數控制不嚴格 判斷引數是否為null 對其重構為更嚴格引數控制 判斷null或空字串 但未考慮到 中的潛規則 呼叫方就是傳遞...

系統上線那點事 記一次線上系統故障

1.由於整體開發在上線前2天才完成,測試了解這個專案需求是在開發的第二週,並沒有充足的時間進行完善的功能,ui機型適配,系統壓力測試。此種網路配置方式也導致了之後遇到的部分使用者頁面無法載入時,排除問題難度加大,不能在自己的機房解決。3.線上應用機器在最後一天才準備好,tomcat及資料庫部署環境的...

記一次線上環境 ES 主分片為分配故障

elasticsearch 版本 5.2 集群節點數 5 索引主分片數 5 索引分片副本數 1 線上環境es儲存的資料量很大,當天由於儲存故障,導致一時間 5個節點的 es 集群,同時有兩個節點離線,乙個節點磁碟唯讀 機房小哥不會處理,無奈只有清空資料重新安裝系統 乙個節點重啟後,es集群報個別索引...