Palai

Palai

程序员 | 开源爱好者 | 喜欢交友

堆內存溢出-實習小記

背景:調研平台 供內部查詢資料和文獻等#

正式環境報錯,顯示 oom-Java heap space ,先是檢查了有沒有創建大對象或者是遞歸的代碼,然後適當擴大下內存。打開任意的 pdf 都失敗,可能是內存沒有釋放(懷疑讀 pdf 的工具有 bug) 用 jconsole 來看了一下程序執行時候的內存變化情況,內存是一致在增加的,本地分析一直在創建對象。分析堆內存快照,(XX:+HeapDumpOnOutOfMemoryError 堆內存溢出時的快照 後面可以加路徑), 初步分析是持續調用生成字體字體對象的接口,也就是持續創建了字體對象。
找到源頭就好辦了,找到該接口持續創建對象的代碼,應該是提出去做一個靜態變量,而不是每次都在靜態函數裡面 new

ps: 第一次生產上遇見堆內存溢出,也是蠻興奮的。 (只不過編輯的格式太爛了,還是得練練這方面)

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。