OOM Killer и поведение Go при нехватке памяти.

Ответ

При нехватке памяти ядро может убить процесс (OOM Killer). В Go при росте кучи GC пытается освободить память; при невозможности процесс может быть убит. В контейнерах лимит памяти задает cgroup; превышение ведет к OOM kill. GOMEMLIMIT (Go 1.19+) ограничивает кучу ниже лимита cgroup, чтобы GC активнее работал и снижал пиковое потребление, уменьшая риск OOM.

// GOMEMLIMIT=400Mi при лимите контейнера 512Mi
// оставляет запас для стека и прочего
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.