请问下大家对 nodejs 内存监控和内存泄漏排查有哪些好的方案?

2022-07-26 16:22:29 +08:00
 fdc

背景

我们前端项目采用 nodejs 作为部署容器,nodejs 也承担部分业务逻辑。最近发现 nodejs 在用户大量使用时它的可用内存慢慢减少,当用户都没有使用时,内存恢复不到使用前的状态,随着时间推移,可用内存越来越少,我们怀疑代码中有内存泄漏,但是我们调研了几种方案都没解决。

我们的 nodejs 版本是:8.9.x

我们调研的方案

1 、heapdump + memwatch 这两个依赖都安装不成功,而且这两个依赖多年没有维护,感觉像被遗弃了

2 、v8 getHeapSnapshot 这个 api 目前只在 node11.13.0 中支持,我们目前用不了,node 版本升级回归压力大,这个 api 只记录 dump 文件,何时记录 dump 也没有较好的方案

3 、alinode 这个是阿里提供的 node 容器,暂时不会替换成这个容器

想请教下大家有没有比较好的解决方案

1017 次点击
所在节点    前端开发
6 条回复
blessyou
2022-07-26 16:50:35 +08:00
升级,然后用 easy-monitor ,我记得某个版本前的 nodejs 本身就是有内存泄漏的。
vampuke
2022-07-26 16:53:53 +08:00
abcd191898105
2022-07-26 18:33:56 +08:00
你就是用 Java ,他也一样。你可以问下
fdc
2022-07-27 10:37:34 +08:00
@vampuke easy-monitor 也试过,安装过程中出现 gyp ERR! stack Error: spawn EPERM
fdc
2022-07-27 10:38:09 +08:00
@blessyou 也试过,安装过程中出现 gyp ERR! stack Error: spawn EPERM
fdc
2022-07-27 10:39:24 +08:00
@blessyou 也试过,安装过程中出现报错,报错如下:gyp ERR! stack Error: spawn EPERM gyp ERR! stack at ChildProcess.spawn

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/868818

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX