Milten.ioMilten

Утечки памяти

Обнаружение утечек памяти с помощью итеративного анализа heap-снимков

Преимущества

Итеративное сравнение heap-снимков
Инструмент многократно переходит по страницам и сравнивает heap-снимки между итерациями — подтверждая реальный рост памяти, а не разовые аллокации.
Четыре категории утечек
Обнаружение утекающих объектов в куче, растущих коллекций (Array, Map, Set), накапливающихся обработчиков событий и отсоединённых DOM-узлов, остающихся в памяти после навигации.
Отслеживание дельты памяти в байтах
Точные данные о том, сколько байт утекает на каждой странице за итерацию, с дельтами retained size и расстоянием от корня GC для каждого подозрительного объекта.
Автоматический обход всего сайта
Автоматическая навигация по страницам сайта с запуском детектирования утечек на каждой — для выявления проблем на всём пользовательском пути, а не только на одном маршруте.

Как это работает

Инструменты

Скорость загрузки
Interaction to Next Paint
Тестирование back / forward cache
Утечки памяти
React Scan

FAQ

Инструмент загружает страницу, делает heap-снимок, переходит на другую страницу и обратно несколько раз, затем делает ещё один снимок. Объекты, которые стабильно растут между итерациями, помечаются как утечки — исключая разовые аллокации.

Отсоединённые DOM-узлы — это HTML-элементы, удалённые со страницы, но всё ещё удерживаемые в памяти JavaScript-ссылками. Это одна из самых частых причин утечек памяти в одностраничных приложениях.

Да. Инструмент отслеживает количество каждого типа обработчиков событий между итерациями. Если счётчик обработчиков растёт без очистки, они помечаются с указанием конкретного имени события и затронутого DOM-узла.

Безусловно. SPA — самый частый источник утечек памяти, поскольку компоненты монтируются и размонтируются без полной перезагрузки страницы. Паттерн итеративной навигации разработан специально для этого сценария.

В отчёте показан тип объекта, retained size и паттерн роста. Типичные исправления: очистка обработчиков событий в cleanup-функциях useEffect, обнуление ссылок на удалённые DOM-узлы, очистка интервалов и таймаутов.
Мы используем Cookies

Мы используем куки, чтобы обеспечить вам лучший опыт на нашем сайте. Подробнее о том, как мы используем cookies, вы можете узнать в нашей политике конфиденциальности.