Что такое GOMEMLIMIT?

Middle+
468 просмотров
AFK Offer AI

GOMEMLIMIT (Go 1.19+) — мягкий лимит памяти для Go рантайма. Устанавливаешь например GOMEMLIMIT=1GiB — и GC будет стараться удерживать потребление в пределах гигабайта, запуская сборку чаще при приближении к лимиту. Это намного удобнее GOGC: вместо "запускай GC при росте на X%" говоришь "у тебя есть N памяти, разберись". Можно комбинировать с GOGC=off для максимального использования памяти до лимита. Лимит мягкий — если живых объектов больше лимита, Go не упадёт с OOM, а просто будет GC-ить агрессивнее.

Следующий вопрос

Задача: реализуйте in-memory кэш с TTL (время жизни записей)