V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fdc
V2EX  ›  前端开发

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

  •  
  •   fdc · 2022-07-26 16:22:29 +08:00 · 989 次点击
    这是一个创建于 842 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景

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

    我们的 nodejs 版本是:8.9.x

    我们调研的方案

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

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

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

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

    6 条回复    2022-07-27 10:39:24 +08:00
    blessyou
        1
    blessyou  
       2022-07-26 16:50:35 +08:00
    升级,然后用 easy-monitor ,我记得某个版本前的 nodejs 本身就是有内存泄漏的。
    vampuke
        2
    vampuke  
       2022-07-26 16:53:53 +08:00
    abcd191898105
        3
    abcd191898105  
       2022-07-26 18:33:56 +08:00 via iPhone
    你就是用 Java ,他也一样。你可以问下
    fdc
        4
    fdc  
    OP
       2022-07-27 10:37:34 +08:00
    @vampuke easy-monitor 也试过,安装过程中出现 gyp ERR! stack Error: spawn EPERM
    fdc
        5
    fdc  
    OP
       2022-07-27 10:38:09 +08:00
    @blessyou 也试过,安装过程中出现 gyp ERR! stack Error: spawn EPERM
    fdc
        6
    fdc  
    OP
       2022-07-27 10:39:24 +08:00
    @blessyou 也试过,安装过程中出现报错,报错如下:gyp ERR! stack Error: spawn EPERM gyp ERR! stack at ChildProcess.spawn
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1500 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:17 · PVG 01:17 · LAX 09:17 · JFK 12:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.