GOGC задает целевой процент роста кучи. По умолчанию 100: если после GC осталось 10 МБ живых объектов, следующий цикл GC запустится при ~20 МБ (рост на 100%).
GOGC=50 - GC запускается чаще (меньше памяти, больше CPU на GC)GOGC=200 - GC запускается реже (больше памяти, меньше CPU на GC)GOGC=off - GC отключен (опасно, память не освобождается)// Программная установка:
import "runtime/debug"
debug.SetGCPercent(50) // эквивалент GOGC=50
На практике дефолтный GOGC=100 подходит для большинства приложений. Тюнинг нужен при жестких требованиях к латентности (уменьшить паузы) или при избытке памяти (увеличить GOGC для снижения CPU на GC).