沙师弟,师父的充电器掉了

jvm.options里的G1GC参数的疑问

Elasticsearch | 作者 wangxinrong | 发布于2021年02月24日 | 阅读数:1612

ES7之前的版本,G1GC如果不加任何参数的话,会比较容易达到95%的断路器阈值。
然后7.9版本的release notes里,对这块有改进,在触发阈值前做GC
 
我看了一下7.5.2和7.10.2这两个版本的rpm包,在安装完以后,jvm.options的G1参数里都有下面的内容-XX:G1ReservePercent=25
-XX:InitiatingHeapOccupancyPercent=30
就是降低G1ReservePercent、InitiatingHeapOccupancyPercent值,提早回收内存,避免达到95%还不做gc。
之前我用7.5版本的ES时,开启了G1GC但没加这两个参数,确实遇到了indexing负载高的时候达到95%报data too large的情况。加上之后就好了。
 
但是我看了最新发布的7.11.1版本,安装完之后,这两个参数在jvm.options里没有了。
现在我的疑问就是,如果7.9的那个优化,能解决问题的话,按道理7.10版本应该没有这两个参数才对。7.11现在没有的话,我需要手动加上这两个参数吗,不加会不会仍然存在之前的问题。
已邀请:

Ombres

赞同来自:

7.11的启动程序改了,将这几个参数改成代码级别实现,主要为了隐藏部分不必要的配置,让jvm.options配置文件可以更通用。当然也可以手动指定的这些配置的。
具体参考https://github.com/elastic/ela ... 63413

wangxinrong

赞同来自:

感谢,我测了下确实7.10 jvm.options里不显式的加就不会带这两个参数。7.11默认不加的话会按照release notes里描述的,根据内存大小动态设置这两个参数。

要回复问题请先登录注册