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