1

У меня возникают проблемы с приложением NodeJS/Express/React, которое находится на производстве, когда мы говорим.Профилирование heapdumps в инструментах разработчика Chrome (утечка памяти)

Проблема в том, что она продолжает подниматься на использование памяти, и она просто не останавливается. Он медленный и устойчивый, и в конечном итоге Node падает. У меня есть несколько heapdumps, которые я создавал с помощью node-heapdump, однако я не знаю, как правильно идентифицировать утечку.

Поделитесь имиджом моего снимка. Пожалуйста, обратите внимание, что я отсортирован по неглубокой размеру так, мол, один из тех объектов/типов, которые появляются на вершине должны быть проблема:

enter image description here

Как я могу видеть ниже, есть это «Promis в @ 585», что Я вижу во многих местах, и это может быть одно, но я не могу определить эту строку, функцию или компонент.

Кто-нибудь может помочь? Я могу поделиться больше скриншотов, если вы хотите.

Спасибо.

+0

Никто не мог показать мне, как определить эту функцию? – rmartrenado

ответ

1

Я нашел проблему.

Я использую React Body Classname в своем приложении, поэтому, когда мы загружаем разные маршруты, мы можем изменить класс body с клиентской стороны. Этот модуль НПМ должен быть использован с Rewind() несильно, когда вы делаете на стороне сервера визуализации для того, чтобы избежать утечек памяти:

Это модуль, я говорю:

https://github.com/iest/react-body-classname

И , чтобы избежать утечки памяти, мы вызываем:

BodyClassName.rewind() 

В функции рендеринга нашего основного компонента контейнера App.js. Таким образом, не имеет значения, какой URL-адрес пользователь приземлился, Rewind() всегда будет вызываться, и поэтому данные, которые могут быть собраны в мусор, будут в будущем надлежащим образом освобождены.

Теперь наше приложение хранится в хорошем и устойчивом 120 МБ памяти.

Спасибо в любом случае: D

Смежные вопросы