Снимайте сравнимые состояния после одинаковой нагрузки и завершённой обработки.
Зачем
Зачем это нужно
Идите по цепочке удержания к долгоживущему владельцу, а не только к большому массиву.
Проверьте очистку слушателей и таймеров во всех ветках завершения.
Вопросы
Частые вопросы
Как задать пример утечки через слушатель?
«Учебный импорт создаёт массив, затем регистрирует callback на общем emitter. После завершения callback не удаляется, число listeners растёт на один за цикл». Попросите объяснить retaining path и место очистки при успехе и исключении. Критерий — число слушателей возвращается к исходному уровню, а после повторяемой нагрузки не накапливаются массивы завершённых импортов, удерживаемые этой конкретной цепочкой объектов.
Почему одного RSS недостаточно для диагноза?
RSS включает больше, чем живую JavaScript-кучу, и освобождённая память не обязана сразу возвращаться операционной системе. Сопоставьте heapUsed, внешние выделения, буферы и профиль нагрузки. Попросите отличить рост очереди незавершённых работ от объектов завершённых операций. Снижение одной цифры после GC не доказывает исправление: важнее отсутствие повторяемого накопления по тому же сценарию и цепочке владельцев.
Что прислать вместо полного heap snapshot?
Обезличенный список растущих классов, размеры, число экземпляров и нужный retaining path, плюс код регистрации или помещения в коллекцию. Укажите моменты съёмки и число завершённых циклов. Сам дамп может содержать пользовательские строки и секреты. Чат не открывает гигантский бинарный артефакт автоматически; текстовый экспорт помогает ограничить анализ конкретной гипотезой без передачи всей памяти процесса приложения.
Как безопасно проверить исправление?
Воспроизведите на стенде одинаковую серию импортов до и после правки, включая отказ посередине. Наблюдайте плато живых объектов и количество ресурсов. Съёмка snapshot может остановить процесс и потребовать дополнительную память, поэтому её условия нужно планировать. Енотик помогает интерпретировать данные, но не измеряет ваш процесс; окончательный вывод опирается на повторный профиль и исчезновение подтверждённой цепочки удержания завершённых объектов.
Рядом
Соседние страницы каталога
Дальше — весь каталог задач: поиск по названию, темы и фильтры.