記一次線上OOM問題

2021-10-02 02:21:09 字數 506 閱讀 4384

首先是 jmap -dump:format=b,file= file.hprof

匯入mat工具

定位的問題是

standardmanager和standardsession
檢視原始碼發現concurrenthashmap node就是standardmanager的session屬性

protected mapsessions = new concurrenthashmap<>();
也就是sessions建立的過多;mat建立了5萬多的session

其中每個session的

attributes屬性預設又建立乙個16大小的concurrenthashmap儲存應用程式資訊
在專案中也就是儲存使用者資訊,每個使用者資訊大概4kb

最終導致建立了大概400m的記憶體,導致記憶體洩漏;

pallagc頻繁gc卻無法釋放記憶體,惡性迴圈

至此,一次記憶體洩漏分析完畢;

程式是同事撰寫......已反饋

記一次線上OOM和效能優化

某次周五,發布前一周的伺服器小動盪?上周五,通過grafana監控,線上環境突然出現cpu和記憶體飆公升的情況 既然伺服器在某個時間點出現了高負荷,於是就先去找一開始出現問題的伺服器,去找耗時的服務,例如我當時去找資料庫耗時的服務,由於上週的日誌已經被刷掉,於是我大致描述一下 admin yyyy ...

一次線上oom問題記錄

某天早上發現服務無法正常訪問,於是展開問題排查。1。首先檢視日誌,發現有oom日誌存在。這時候看到oom,犯了想當然的錯誤,認為是記憶體不足,堆記憶體空間已經用完。於是檢視 發現某個模組中有如下 誰寫的,站出來,我保證不打你。當時盲目的認為就是使用這個執行緒池的問題 關於此執行緒池的弊端不再贅述 於...

記一次線上問題排查

這次線上問題來的比較突然,影響也大,用部落格記錄下整個過程,也當作是對這次事故的一次總結歸納。day1 2018年06月21號上午10點,收到運營同事通知,http com api 訪問量劇增,日誌量達到80g 天,而且有上公升趨勢。運營同事讓我們排查,這種訪問是否正常。運營統計訪問量 收到通知後立...