node 堆栈溢出怎么排查根因啊

15 天前
 LASockpuppet

项目里更新了一个依赖版本,这个依赖的新版本增加了其他依赖。然后在项目构建时,node 内存爆了。。。z 有什么方法能排查根因吗

920 次点击
所在节点    Node.js
7 条回复
wangritian
15 天前
如果是我,先加一倍同内存容量的页面文件/交换区快速试试水
sagaxu
15 天前
先不要排查,排查出来大概率只能降版本,无法根治,建议先尝试调高 heap 的大小。node 使用的 v8 引擎,默认 heap 最多只能使用 1/4 物理内存,如果是 8G 的机器,heap 上限只有 2G ,已经不能满足很多 build 任务了。
june4
14 天前
先试试一个简单的办法,可以省一些内存
LD_PRELOAD=/usr/lib/libjemalloc.so npm/node ...
LASockpuppet
14 天前
@sagaxu 把 node 调到了 6g ,还是爆了,感觉是新依赖里面循环依赖导致的,用的是 webpack 4
fengYH8080
14 天前
把 package-lock.json 和 node_modules 删了重新下载一遍依赖,如果怀疑是循环依赖,可以全局装个 madge 检查下项目有没有循环依赖
gesse
13 天前
@june4
效果怎么样? 有实际运营环境中的数据吗?
FishBear
9 天前
@gesse #6 效果非常好 小内存 linux 主机必须上这个 否则有严重的内存碎片

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

https://tanronggui.xyz/t/1103296

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

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

© 2021 V2EX