如何在Jemalloc中使用Node.js?

时间:2018-11-09 23:08:56

标签: node.js jemalloc

Node.js可以与Jemalloc(https://github.com/nodejs/node/issues/21973)一起使用。在大多数情况下,这会缩短RSS,这是我面临的巨大问题。

但是我找不到关于如何在Jemalloc上,在机器上或在docker中使用节点的任何信息。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

我刚刚经历了将nodejs应用切换到jemalloc的过程,这是我在Debian Stretch上完成的过程:

安装jemalloc:

LoggingInInterceptor lii = new LoggingInInterceptor(); 
lii.setLimit(limit);

找到jemalloc二进制文件:

sudo apt-get install libjemalloc-dev

在/ usr / lib / ...等以.so结尾的文件夹中查找文件,例如,路径可能为 /usr/lib/x86_64-linux-gnu/libjemalloc.so

配置服务器以对所有程序使用jemalloc:

  1. 使用预加载配置创建文件:

sudo find / -name "*jemalloc*"

  1. 将jemalloc二进制文件的路径添加到文件:

sudo nano /etc/ld.so.preload

  1. 重新启动nodejs并检查是否使用了jemalloc,例如像这样(如果使用了jemalloc,您应该会看到一些显示jemalloc二进制文件的行):

/path/to/jemalloc/binary

替代:仅将jemalloc用于nodejs

在bash中执行

cat /proc/<PID OF NODEJS>/smaps | grep jemalloc

在启动nodejs进程之前