垃圾回收曲线,波峰和波谷一直上升。正常是波峰波谷在同一水平线上,可以想象如果程序继续运行下去,老年代内存回收后也不断上升,当达到老年代满了的时候,就会报内存溢出错误。
用jmap -histo pid去看堆内存的使用情况,或者用jmap -dump去dump堆内存,然后用MAT去分析dump下来的内存看是哪个方法或者对象导致的内存无法回收。