首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Node.js
Express
PPA for Ubuntu
ppa:chris-lea/node.js
V2EX  ›  Node.js

Linux 上, nodejs 程序内存溢出问题,如何排查

  •  
  •   v2future · 2018-07-30 17:23:46 +08:00 · 3283 次点击
    这是一个创建于 472 天前的主题,其中的信息可能已经有所发展或是发生改变。
    写了一个 nodejs 小程序,部署在 linux 上,跑五六个小时后,内存占用就达到 90%,要怎么排查呢
    网上搜索的一圈,说用 heapdump,但这个在 linux 上部署不了,大家有办法吗
    5 回复  |  直到 2018-08-16 16:46:59 +08:00
        1
    ginozhu   2018-07-30 17:40:36 +08:00
    heapdump 为啥 linux 上部署不了?

    heapdump 不行的话,用 inspect,然后远端用 chrome devtool 也可以 dump 出 heap
        2
    xiaoxin8888   2018-07-30 17:47:23 +08:00
    检查下代码, 是不是有数组一直往里加没有清的情况.
        3
    lzvezr   2018-07-30 18:15:53 +08:00 via Android
    其实可以用 alinode
        4
    jerry4718   2018-08-07 18:34:35 +08:00
    是不是有事务没提交的
        5
    v2future   2018-08-16 16:46:59 +08:00
    上一次 headdump 没装上是因为 g++没安装
    把内存快照导入 chrome 控制台后发现存在大量未销毁 socket 对象
    排查代码,是因为 close socket 的代码写错了,而且没打印异常日志。
    现在正常了,程序跑一个礼拜,内存都没有增长。
    谢谢大家了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1142 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 18:31 · PVG 02:31 · LAX 10:31 · JFK 13:31
    ♥ Do have faith in what you're doing.