V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
fdc

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

  •  
  •   fdc · Jul 26, 2022 · 1446 views
    This topic created in 1383 days ago, the information mentioned may be changed or developed.

    背景

    我们前端项目采用 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 replies    2022-07-27 10:39:24 +08:00
    blessyou
        1
    blessyou  
       Jul 26, 2022
    升级,然后用 easy-monitor ,我记得某个版本前的 nodejs 本身就是有内存泄漏的。
    abcd191898105
        3
    abcd191898105  
       Jul 26, 2022 via iPhone
    你就是用 Java ,他也一样。你可以问下
    fdc
        4
    fdc  
    OP
       Jul 27, 2022
    @vampuke easy-monitor 也试过,安装过程中出现 gyp ERR! stack Error: spawn EPERM
    fdc
        5
    fdc  
    OP
       Jul 27, 2022
    @blessyou 也试过,安装过程中出现 gyp ERR! stack Error: spawn EPERM
    fdc
        6
    fdc  
    OP
       Jul 27, 2022
    @blessyou 也试过,安装过程中出现报错,报错如下:gyp ERR! stack Error: spawn EPERM gyp ERR! stack at ChildProcess.spawn
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3141 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 03:17 · PVG 11:17 · LAX 20:17 · JFK 23:17
    ♥ Do have faith in what you're doing.