Как использовать Node.js с Jemalloc? - PullRequest
0 голосов
/ 10 ноября 2018

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

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

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

1 Ответ

0 голосов
/ 21 ноября 2018

Я только что прошел процесс переключения нашего приложения 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

...