Как использовать Node.js с Jemalloc?

Node.js можно использовать с Jemalloc ( https://github.com/nodejs/node/issues/21973). В большинстве случаев это приведет к сокращению RSS, и это моя огромная проблема.

Но я не могу найти никакой информации о том, как использовать узел с Jemalloc, ни на машине, ни в докере.

Кто-нибудь может помочь с этим?

1 ответ

Я только что прошел процесс переключения нашего приложения nodejs на jemalloc, вот как я это сделал на Debian Stretch:

Установите jemalloc:

sudo apt-get install libjemalloc-dev

Найдите бинарный файл jemalloc:

sudo find / -name "*jemalloc*"

Найдите файл в папке, например / usr / lib /..., заканчивающейся на.so, например, путь может быть /usr/lib/x86_64-linux-gnu/libjemalloc.so

Сконфигурируйте сервер для использования jemalloc для всех программ:

  1. Создать файл с предварительной загрузкой конфигурации:

sudo nano /etc/ld.so.preload

  1. Добавьте путь к двоичному файлу jemalloc в файл:

/path/to/jemalloc/binary

  1. Перезапустите nodejs и проверьте, используется ли jemalloc, например, вот так (если используется jemalloc, вы должны увидеть несколько строк, показывающих двоичный файл jemalloc):

cat /proc/<PID OF NODEJS>/smaps | grep jemalloc

Альтернатива: используйте jemalloc только для nodejs

В Bash выполнить

export LD_PRELOAD=$LD_PRELOAD:/path/to/jemalloc/binary

перед запуском процесса nodejs

Другие вопросы по тегам