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现在没有的话,我需要手动加上这两个参数吗,不加会不会仍然存在之前的问题。
然后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现在没有的话,我需要手动加上这两个参数吗,不加会不会仍然存在之前的问题。
2 个回复
Ombres
赞同来自:
具体参考https://github.com/elastic/ela ... 63413
wangxinrong
赞同来自: