- 关于 GOGC 默认值为 100 带来的频繁 GC 问题,我们在 6.4 当中做了解决。原理是根据内存负载动态调整 GOGC 的值,避免频繁 GC 带来的抖动。
https://github.com/pingcap/tidb/issues/32090
对应的系统变量是: https://docs.pingcap.com/zh/tidb/stable/system-variables#tidb_enable_gogc_tuner-从-v640-版本开始引入 - 1分钟触发 1次,指的是在这个阈值下 1分钟只会触发一次。触发后会上调阈值,再接下来的 1分钟内,如果继续达到上调后的阈值,会继续触发 GC。
- 6.5 的 GC 由 GOGC 和该 hard limit 的阈值共同控制。大原则是在低内存负载时,尽可能少的触发 GC,避免抖动。内存负载压力很大时,通过 hard limit 及时回收内存避免 OOM。
2 个赞
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。