Как найти из-за чего переполняется память? Привет
Пишу проект на Golang и он стал достаточно большой.
К сожалению заметил не сразу и не могу понять после какой правки, программа начала заполнять оперативку и не освобождать ее. Примерно по 1гб за 2 часа.
Как определить точное место в котором косяк?

21 Авг 2019 в 06:25
216 +1
0
Ответы
1

Для определения места, где происходит утечка памяти, можно воспользоваться инструментами для профилирования кода на Golang.

Один из способов - использовать утилиту pprof, которая встроена в стандартную библиотеку Golang. Для этого нужно импортировать пакет "net/http/pprof" и запустить HTTP сервер с профилированием в своем приложении. Затем можно посмотреть отчеты по использованию памяти и выявить участки кода, которые вызывают утечку.

Также можно воспользоваться утилитой go tool trace для анализа трассировки выполнения программы и выявления участков, где происходит утечка памяти.

Если вы используете какие-то сторонние библиотеки, то возможно ошибка связана с использованием их неправильным образом. Для этого стоит также проверить код этих библиотек и выявить возможные проблемы.

Наконец, можно использовать профилирование с помощью инструментов сторонних компаний, таких как New Relic или Datadog, которые предоставляют подробную информацию о работе вашего приложения, включая утечки памяти.

Надеюсь, это поможет вам найти и устранить проблему с утечкой памяти в вашем проекте на Golang.

20 Апр в 13:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 211 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир