问题描述
我的 Express 应用程序存在内存泄漏。 RSS 内存从大约 80Mb 开始,随着时间的推移缓慢增长,在几天内达到大约 2-3Gb。我曾尝试使用 --inspect 标志来启动进程并在 chrome 检查器中进行调试,但无法找出确切的问题。在这种情况下,一段时间内的对象分配并不高。正如您在附加的屏幕截图中看到的那样,最高的内存消耗是字符串。任何人都可以指出我解决此泄漏的正确方向吗?
平台:Linux - Ubuntu 18.04.5
解决方法
嗯,这是一个本机模块 sharp
泄漏内存。它正在用于图像处理的应用程序中。我们需要使用 libjemalloc
运行应用程序,它可以更好地将未使用的内存释放回操作系统。我们可以使用以下命令设置内存分配器:
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.1