GC-优化思路

尽量让每次Young GC 后的存活对象小于Survivor区的50%,都留存在年轻代里。
尽量别让对象进入老年代。
尽量减少Full GC频率,避免Full GC对JVM性能的影响。

1、堆内存比较大的机器,建议使用G1回收器

设置停顿时间 JDK版本>=1.8

2、观察gc记录 jstat -gc pid

每次gc之后存活对象的大小,是否因为S区太小导致部分对象进入老年代

或者触发动态年龄判断 让部分对象进入了老年代

这种情况需要 适当调大S区大小

3、对于大部分系统而言,老年代并不会存储太多对象,除了 Spring定义的bean等,

自己定义的静态变量存在永久代(jdk1.8存在元数据区)

这种情况可以调高新生代的占比

你可能感兴趣的:(JVM)