Ваш Go-сервис жрёт память в проде, а на тестовом стенде всё идеально?
Разбираем пошагово: как находить и диагностировать утечки ресурсов в Go-приложениях.
Что внутри:
Теория: GC, планировщик, модель памяти - минимум для понимания проблемы
Практика: pprof профили всех типов (heap, goroutine, allocs, block)
Инструментарий: как читать дампы горутин и системную диагностику
Готовые скрипты для воспроизведения и анализа утечек
Runtime tracing для сложных случаев
Реальный пример из статьи:
Зависшие горутины в одном месте -> stw паузы выросли с 1ms до 50ms -> api деградировал.
Статья построена как практическое руководство с минимумом теории и максимумом применимых техник. Во второй части - конкретные примеры утечек с кодом, production-кейс и настройка мониторинга.
Для тех, кто хочет научиться находить утечки ДО того, как они попадут в prod.