Переменная окружения GOGC в языке Go управляет порогом запуска сборщика мусора (GC) в процентах. Значение 100 означает, что сборщик мусора будет запускаться, когда объём выделенной кучи (heap) увеличится на 100% по сравнению с объёмом памяти после последнего запуска GC.
Чему равен дефолтный GOGC в Go и что означает это число?
Переменная окружения GOGC в языке Go управляет порогом запуска сборщика мусора (GC) в процентах.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Переменная окружения GOGC в языке Go управляет порогом запуска сборщика мусора (GC) в процентах. Значение 100 означает, что сборщик мусора будет запускаться, когда объём выделенной кучи (heap) увеличится на 100% по сравнению с объёмом памяти после последнего запуска GC.
Проще говоря, если после последнего сбора мусора куча была размером X, то следующий сбор запустится, когда куча достигнет размера 2X (то есть увеличится в 2 раза). Это значение по умолчанию и балансирует между производительностью и использованием памяти.
Изменение GOGC влияет на частоту и интенсивность сборок мусора: меньшее значение — более частые сборки и меньшее потребление памяти, большее — реже сборки, но большее использование памяти.