當前推論 :系統YGC已經不能回收太多堆內存,而FGC尚未執行,可能是由於老年代在持續增加,jvm
須要查看當前機器自啓動以來的歷史數據參考(由於當前線上一次查詢範圍最大1天), 2019-06-10 ->11號 數據,和12號的比對,能夠看出堆內存水位在緩慢上升,最終再13號凌晨出發報警。 性能
接着推論 :驗證以前要當心,最好先把機器從集羣摘除,由於FullGC會影響機器性能 接下來咱們要驗證一下是正常的使用仍是內存泄露,採用手動觸發一次FGC,執行histo命令 優化
結論: 從監控能夠看出,觸發了FGC後,堆內存直接降到低水位,所以咱們能夠理解爲是正常的內存增加,後續的工做 : 1. 從dump及代碼層面分析爲何老年代持續增加, 2. 更改一下監控報警配置 等優化線程
咱們也能夠經過監控看到剛纔執行的FGC對方法性能的影響, 3d
講個細節(爲何凌晨會持續報警)?cdn