Что значит если переменная окружения GOGC равна 100

«Что значит если переменная окружения GOGC равна 100» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

GOGC=100 означает, что сборщик мусора (GC) в Go будет запускаться, когда объем выделенной памяти превысит текущий объем используемой памяти на 100%.

По умолчанию GOGC=100, что является балансом между производительностью и использованием памяти:

  • Чем выше значение, тем реже GC, но больше потребление памяти
  • Чем ниже значение, тем чаще GC, но меньше потребление памяти

Пример влияния:

// При GOGC=100 (по умолчанию)
// Если программа использует 10MB, GC запустится при ~20MB (10MB + 100%)

// При GOGC=50
// GC запустится при ~15MB (10MB + 50%)

Можно отключить GC полностью, установив GOGC=off, но это не рекомендуется.