Как использовать 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 для всех программ:
- Создать файл с предварительной загрузкой конфигурации:
sudo nano /etc/ld.so.preload
- Добавьте путь к двоичному файлу jemalloc в файл:
/path/to/jemalloc/binary
- Перезапустите 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