你们写的 NodeJS 程序有没有内存泄漏?

2017-09-20 13:54:27 +08:00
 doubleflower
从 Python 转 Node,写了三个微服务,尼玛每一个都出现了内存泄漏,连续运行几天就会 OOM。

以前 Python 也写过几个,运行个几年都没问题的。
8212 次点击
所在节点    Node.js
26 条回复
springwarm
2017-09-20 21:20:37 +08:00
@marvinwilliam Out Of Memory
Pastsong
2017-09-20 21:47:39 +08:00
内存泄漏是 NodeJS 的一部分,不爽不要写...
vebuqi
2017-09-20 23:33:02 +08:00
定时调一下 gc ?
isbase
2017-09-20 23:33:31 +08:00
RickyWonng
2017-09-26 14:20:08 +08:00
之前写的高负载爬虫出现过内存炸的情况,但不是内存泄露,只是闭包引用导致的内存占用过高,调节一下负载,减少变量传递,注意点用字符串函数就可以了。
doubleflower
2017-09-26 14:49:23 +08:00
@RickyWonng 对,现在我发现了,我的三个服务只有一个是有泄漏的。

其中二个是头一天运行的内存都在 400M 以内,二天后慢慢上去,会稳定在 700M RSS,我的内存自杀阀值 512 设得太低了。(难道是和 V8 有关,运行次数多了后 JIT 优化代码导致内存使用增加)。

最后一个压图片的服务只有 200 行代码,太简单了所以没加内存高自杀设置,但运行十几天后内存爆掉了,用了 sharp 这个大 native 库,可能那个库有泄漏。

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

https://www.v2ex.com/t/392238

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

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

© 2021 V2EX