【发布时间】:2018-11-09 23:08:56
【问题描述】:
Node.js 可以与 Jemalloc (https://github.com/nodejs/node/issues/21973) 一起使用。在大多数情况下,它会缩短 RSS,这是我的大问题。
但我找不到任何关于如何在 Jemalloc、机器上或 docker 中使用 node 的信息。
有人可以帮忙吗?
【问题讨论】:
-
我认为是通过修补节点的源代码或弄乱构建文件来完成的
Node.js 可以与 Jemalloc (https://github.com/nodejs/node/issues/21973) 一起使用。在大多数情况下,它会缩短 RSS,这是我的大问题。
但我找不到任何关于如何在 Jemalloc、机器上或 docker 中使用 node 的信息。
有人可以帮忙吗?
【问题讨论】:
我刚刚完成了将我们的 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
/path/to/jemalloc/binary
cat /proc/<PID OF NODEJS>/smaps | grep jemalloc
替代方案:仅对 nodejs 使用 jemalloc
在 bash 中执行
export LD_PRELOAD=$LD_PRELOAD:/path/to/jemalloc/binary
在启动 nodejs 进程之前
【讨论】: