頻繁發(fā)生Full GC小議

早上和同事聊了下頻繁發(fā)生Full GC要怎么處理,記一下吧

什么時(shí)候會(huì)觸發(fā)Full GC

  • 老年代空間不夠用了
  • System.gc調(diào)用
  • 統(tǒng)計(jì)新生代對(duì)象晉升到老年代的時(shí)候,發(fā)生要晉升的對(duì)象大于老年代的剩余空間
  • 堆中分配大對(duì)象,直接分配到老年代,老年代也沒(méi)有連續(xù)的空間存放大對(duì)象

方案

  1. 可以先看看GC日志,或者用jstat打印gc信息,可能出現(xiàn)新生代的對(duì)象一直沒(méi)有釋放導(dǎo)致的
  2. 使用jmap把內(nèi)存中的對(duì)象dump下來(lái),用mat(eclipse的開源工具)或者jvisualvm(jdk自帶的工具)分析
    1. 可能出現(xiàn)jmap導(dǎo)出文件的時(shí)候,進(jìn)程卡死,文件太大,導(dǎo)不出來(lái)了,那就只好重啟了。
  3. 頻繁發(fā)生Full GC可能會(huì)導(dǎo)致CPU飆高,也可以配合jstack查看里面的線程到底在做什么

參考:Java命令行監(jiān)控工具(jmap,jstack,jstat,jinfo,jps)

最后

閑聊

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容