Ответ 1
Является ли это сайтом, который мы можем проверить или внутренним? Я хотел бы заглянуть. Я наткнулся на выдержку ниже при поиске на страницах Google Developers, Анализ памяти 101:
Размеры объекта
Память может удерживаться объектом двумя способами: непосредственно объектом и неявно, путем ссылки на другие объекты и что предотвращает их автоматическое удаление мусором сборщик (GC для краткости).
Размер памяти, удерживаемой самим объектом, называется мелким размер. У типичных объектов JavaScript есть память, зарезервированная для их описание и для хранения мгновенных значений.
Обычно только массивы и строки могут иметь значительные мелкие размеры. Тем не менее, строки часто имеют основное хранилище в памяти рендерера, подвергая только небольшой объект-обертку на кучи JavaScript.
Тем не менее, даже небольшой объект может содержать большой объем памяти косвенно, путем предотвращения того, чтобы другие объекты были автоматический сбор мусора. Размер памяти, который будет освобождается, когда сам объект удаляется, и его зависимые объекты сделанный недостижимым из корней GC, называется сохраненным размером.
Последний бит кажется потенциально вашей проблемой.
Изучение проблем памяти
Если вы склонны, вы можете включить эту функцию хром, chrome --enable-memory-info
и занять пик за занавеской, чтобы увидеть, что хром потенциально может повеситься.
После запуска Chrome с профилированием памяти у вас будет доступ к двум новым свойствам:
window.performance.memory.totalJSHeapSize; // currently used heap memory
window.performance.memory.usedJSHeapSize; // total heap memory
Эта функция более подробно описана здесь.