node.js可以与jemalloc一起使用(https://github.com/nodejs/node/issues/21973)。在大多数情况下,它会缩短rss,这是我的大问题。
但是我找不到任何关于如何在jemalloc中使用node的信息,在机器上也找不到,在docker中也找不到。
有人能帮忙吗?
最佳答案
我刚刚完成了将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
备选方案:仅对nodejs使用jemalloc
在bash中执行
export LD_PRELOAD=$LD_PRELOAD:/path/to/jemalloc/binary
在启动nodejs进程之前