其他分享
首页 > 其他分享> > G1的暂停预测模型是怎么做到的

G1的暂停预测模型是怎么做到的

作者:互联网

1. G1垃圾收集器停顿预测模型

G1收集器突出表现出来的一点是通过一个停顿预测模型根据用户配置的停顿时间来选择Cset的大小,从而达到用户期待的应用程序暂停时间

通过-XX:MaxGCPauseMillis参数来设置,这一点有点类似于Parallel Scavenge收集器.关于停顿时间的设置并不是越短越好

2 相关实践

2.1 不断调优暂停时间指标

通过-XX:MaxGCPauseMillis=x可以设置启动应用程序的暂停时间, G1在运行的是会根据这个参数选择Cset来满足响应时间的设置

一般情况下这个值设置到100ms和200ms都是可以的(不同情况下会不一样), 但是如果设置成50ms就不太合理

暂停的时间设置的太短,就会导致出现G1跟不上垃圾产生的速度,最终退化成Full GC

所以对这个参数的调优是一个持续的过程,逐步调整到最佳状态

2.2 不要设置新生代和老年代的大小

2.3 关注Evacaution Failure

类似于CMS里面的晋升失败, 堆空间的垃圾太多导致无法完成Region之间的拷贝,于是不得退化成Full GG来做一次全局范围内的垃圾回收

标签:G1,收集器,停顿,模型,时间,设置,暂停
来源: https://www.cnblogs.com/juniorMa/p/14343550.html