之前我們在64位Linux服務器上使用Node.js時,當Node進程物理內存接近1.6G,由於谷歌V8引擎對內存的限制,會導致進程退出!
顯然我們自身編碼或npm加載的第3行模塊存在內存泄露問題,那麼如何去定位呢?
常見的調試工具:
- v8-profiler
- node-heapdump
- node-mtrace
- dtrace
- node-memwatch
具體定位的方法可參考:
https://hacks.mozilla.org/2012/11/tracking-down-memory-leaks-in-node-js-a-node-js-holiday-season/
http://www.oschina.net/translate/tracking-down-memory-leaks-in-node-js-a-node-js-holiday-season