首先是 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 天,而且有上公升趨勢。運營同事讓我們排查,這種訪問是否正常。運營統計訪問量 收到通知後立...