Утечку подозревают, когда удерживаемая память растёт при сопоставимой нагрузке и не возвращается к ожидаемому уровню. Причину ищут по объектам и цепочкам владения.
Сталкивались ли вы с утечками памяти? Как их обнаружить, каковы признаки и как исправлять?
Утечку подозревают, когда удерживаемая память растёт при сопоставимой нагрузке и не возвращается к ожидаемому уровню. Причину ищут по объектам и цепочкам владения.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Утечку подозревают, когда удерживаемая память растёт при сопоставимой нагрузке и не возвращается к ожидаемому уровню. Причину ищут по объектам и цепочкам владения.
Сначала отделите нормальный кеш и рост нагрузки от неконтролируемого накопления. Сравните профили/heap snapshots, найдите доминирующие типы и пути удержания: listeners, очереди, thread-local, циклы ссылок или незакрытые ресурсы. Исправление ограничивает срок жизни, объём кеша либо освобождает подписки/ресурсы. Затем повторите длительный сценарий и проверьте стабилизацию. Один высокий RSS сам по себе не доказывает утечку: runtime и allocator могут сохранять освобождённые страницы.