请教大家, node 应用启动就占用 10.4g 的虚拟内存怎么回事? - V2EX
cjd6568358

请教大家, node 应用启动就占用 10.4g 的虚拟内存怎么回事?

  •  
  •   cjd6568358 Sep 29, 2024 3545 views
    This topic created in 594 days ago, the information mentioned may be changed or developed.
    最近一段时间,跑在 docker 里的 node 应用突然申请的虚拟内存大了起来,只要启动就达到了 10.4g ,不知道什么原因导致的,请问如何排查?
    node 应用是用 ncc 打包出的一个单文件,使用 forever 启动。
    docker 镜像是基于 node-22.9.0:alpine 构建。
    通过 docker stats 查看容器真实内存占用是正常的,只有 92mb 。除了虚拟内存占用高,别的都正常,比如 cpu 负载。
    尝试过的措施,都无法解决
    1.重启 docker 容器
    2.重启物理主机
    3.抛弃 forever,直接使用 node 启动
    4.不使用 ncc 打包成单文件,使用源代码启动
    5.重新构建 docker 镜像
    10 replies    2024-09-29 17:24:40 +08:00
    Nitroethane
        1
    Nitroethane  
       Sep 29, 2024 via iPhone
    虚拟内存怕啥啊,申请多少都无所谓
    codehz
        2
    codehz  
       Sep 29, 2024
    VIRT 有啥可看的,你跑一个 haskell 的程序还能吃你 1TB 呢
    cjd6568358
        3
    cjd6568358  
    OP
       Sep 29, 2024
    @Nitroethane 问题以前不这样啊,而且跑定时脚本最近老是遇到系统资源不足的报错
    cjd6568358
        4
    cjd6568358  
    OP
       Sep 29, 2024
    @codehz 应该是 vsz
    arloor
        5
    arloor  
       Sep 29, 2024 via Android
    看 res ,不看 virt
    FishBear
        6
    FishBear  
       Sep 29, 2024
    虚拟内存不用看
    cjd6568358
        7
    cjd6568358  
    OP
       Sep 29, 2024
    @arloor 我看的是 vsz
    sagaxu
        8
    sagaxu  
       Sep 29, 2024
    @cjd6568358 以前不这样?那就确保操作系统,node 版本,各种库的版本都跟以前一样再做比较,用排除法找出原因。也许是某个版本更新之后引入了新的内存管理方式,Go 当初也有过类似的情况。

    这个 vsz 的大小不会引起资源不足,x86-64 架构下,每个进程可以有 256T 的虚拟内存地址空间。

    其实现在看 RES/RSS 也不准确了,误差可以很大,要结合 PSS 一起看才准。
    cjd6568358
        9
    cjd6568358  
    OP
       Sep 29, 2024
    @sagaxu 感谢。我改了一下定时脚本看看情况吧。以前没注意到 nodejs 的虚拟内存参数,最近频繁遇到告警邮件才注意到。nodejs 启动申请的虚拟内存都这么高吗?
    xuexingwei
        10
    xuexingwei  
       Sep 29, 2024
    @cjd6568358 #3 我们项目今天也是报了这个异常,停用了几个服务才能正常打包,上次出现这个问题是几个月前了。
    About     Help     Advertise     Blog     API     FAQ     Solana     2804 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 51ms UTC 11:05 PVG 19:05 LAX 04:05 JFK 07:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86