现象:使用PS收集老年代,平均一小时一次major GC,每次平均停顿160ms。
分析:老年代max 1.2G内存,一小时从500到1.2G。
- 正常就是有很多minorGC存货的对象放在了Survivor中,多次GC后晋升为老年代。
- 大对象太多,minorGC后存活下来,survivor放不下,直接放入老年代了,导致老年代爆炸式增长,频繁FULLGC。
解决方法:
首先判断是什么业务类型,会有这么频繁的大对象。根据调用接口次数判断。
- 提高survivor区内存,让大对象不至于直接进入老年代。