【发布时间】:2012-07-11 23:45:25
【问题描述】:
最近,我安装了https://github.com/lloyd/node-memwatch 用于开发,研究GC如何与我的程序交互。
我已经绑定了“stat”事件,作者说GC执行时触发了该事件。
我发现当脚本负载很高时。 “stat”事件不会被触发。我不确定这是否意味着没有执行 GC,但这表明 GC 可能没有触发。
在我的生产服务器中,全天的负载甚至更高。我很确定GC没有机会执行。内存使用量没有机会减少。就像内存泄漏一样。
- 我的观察正确吗?连续高负载时GC不能执行吗?
- 如果是这样,我应该使用暴露的GC接口来强制GC吗?
- GC 是否阻塞?是否应该更频繁地执行 GC,以免每次 GC GC 都阻塞很长时间?
我知道手动GC不是一个好主意(在node.js中有人反对手动GC的想法,但我找不到参考链接),但我看到内存使用量在不断增加。确实需要解决。
【问题讨论】:
-
你确定你实际上没有内存泄漏吗?
-
嘿,你的问题解决了吗?我还遇到重载时内存不断增加...
-
不,我已经放弃使用 node.js。我已经改用 Erlang。
标签: node.js garbage-collection