問題產生 最近新上線的系統偶爾會報FullGC時間過長(>1s)的告警,查看GC日志,如下圖所示: 看到GC日志,我第一時間關注到的不是GC耗時,而是GC觸發的原 ...
在測試環境中開啟的堆大小是 g。但是卻發生了OOM。 發生OOM的場景是: 上傳Excel 之后進行數據的清洗,然后清洗完成之后會將清洗掉的 清洗后的數據再次備份到磁盤中 同時將清洗后的數據入關系型數據庫。 解析Excel 用的是POI, 數據清洗用的是Tablesaw, 且清洗的操作都是在內存中處理的 記錄下此次OOM的排查過程。 . 前置知識 關於JVM調試的前置知識。 . 拋出OOM的前提 ...
2021-06-25 19:20 0 289 推薦指數:
問題產生 最近新上線的系統偶爾會報FullGC時間過長(>1s)的告警,查看GC日志,如下圖所示: 看到GC日志,我第一時間關注到的不是GC耗時,而是GC觸發的原 ...
上周運維反饋線上程序出現了OOM,程序日志中的輸出為 看線程名稱應該是tomcat的nio工作線程,線程在處理程序的時候因為無法在堆中分配更多內存出現了OOM,幸好JVM啟動參數配置了-XX:+HeapDumpOnOutOfMemoryError,使用MAT打開拿到的hprof文件進行分析 ...
公司報表分析系統已經運行了一年多,最近收到服務器內存警告信息內存耗盡,第一時間着手排查問題,記錄下排查內存耗盡問題整個過程使用到的命令。 第一步查看內存使用情況: free -m 命令:已M單位顯示服務器實際內存使用情況,如圖: 第1行mem數據:total內存總數 ...
背景以前接觸到的數據庫死鎖,都是批量更新時加鎖順序不一致而導致的死鎖,但是上周卻遇到了一個很難理解的死鎖。借着這個機會又重新學習了一下mysql的死鎖知識以及常見的死鎖場景。在多方調研以及和同事們的討論下終於發現了這個死鎖問題的成因,收獲頗多。雖然是后端程序員,我們不需要像DBA一樣深入地去分析 ...
近期需要對公司的接口做線上的巡查監控,需要寫一個腳本放到服務器上,定時運行腳本監測線上接口是否正常。測試的接口不是HTTP協議,而是公司基於TCP協議開發的私有協議,因此不能直接用現成的一些接口測試工 ...
背景:后台定時任務腳本每天凌晨5點30會執行一個批量掃庫做業務的邏輯。 gc錯誤日志: 借鑒於:understanding-cms-gc-logs 得知導致concu ...
微信公眾號:內核小王子 覺得可以的話歡迎關注 場景:公司對外網關對很多外部商戶開放,運行多年一直正常,昨天某一個客戶調用我們接口的時候頻繁報connectiontimeout,異常如下: 該異常來自於httpclient,原因是創建連接超時,也就是tcp進行三次握手的時候失敗 ...
地去分析與鎖相關的源碼,但是如果我們能夠掌握基本的死鎖排查方法,對我們的日常開發還是大有裨益的。 死鎖 ...