Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 使用memwatch进一步查找内存泄漏大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
最近我用node.js开始了我的第一个项目,我可以肯定地说我很喜欢它.所有模块都非常强大;然而,似乎我有一个“轻微”的内存泄漏导致我的服务器在大约一个小时后崩溃(命中99-100%的cpu).我一直试图解决这个问题一段时间了.

幸运的是,经过一番搜索,我发现了一个名为memwatch的流行工具.我当然安装了模块,并开始记录我服务器进程的内存使用/存储.

最后,通过查看日志后,我发现了可能的原因.

{
    "what": "String","size_bytes": 9421368,"size": "8.98 mb","+": 16635,"-": 533
  }

当然,在30秒内,这个小虫子增加了9mb(非常不寻常).知道我的内存泄漏似乎是字符串类型,这是很好的和花花公子,但我到底在哪里?有什么方法可以得到更准确的结果吗?

我查看了我的代码,但我的代码中确实没有一个字符串可能会像这样增长.是否有可能这个字符串实际上不是我的代码的一部分,更多的是节点或Socket.IO模块的一部分?

解决方法

正确的方法.使用StrongOps(以前称为Nodefly)来分析内存.隔离泄漏物体的类型.查看堆保留大小以及实例计数.越来越多的实例计数与稳定的工作量将指向少数吸烟枪.

我相信StrongOps使用memwatch一些V8探查器/ GC代码.更好的自动化见链接http://strongloop.com/node-js-performance/strongops/

然后使用Node-heapdump模块,他们的联合创始人(核心贡献者Ben Noordhuis)写道将泄漏分离到集合对象,GC根和代码行.

请参阅Ben – http://strongloop.com/strongblog/how-to-heap-snapshots/博客

大佬总结

以上是大佬教程为你收集整理的node.js – 使用memwatch进一步查找内存泄漏全部内容,希望文章能够帮你解决node.js – 使用memwatch进一步查找内存泄漏所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。