首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测代码中node.js/javascript内存泄漏

检测代码中node.js/javascript内存泄漏
EN

Stack Overflow用户
提问于 2013-03-30 21:11:43
回答 1查看 4K关注 0票数 8

我有一个正在工作的一些代码,但是它有一个内存泄漏。

在node.js中跟踪内存泄漏有哪些好的策略?

在寻找这样的漏洞时,我应该遵循哪些步骤?

如何跟踪代码中的漏洞?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-03-30 21:23:49

您可以通过分析应用程序的内存使用情况来解决这个问题。

Javascript对象是在堆上分配的,因此您需要一个可以转储堆的工具。获取堆转储之后,您可以检查它,并查看给定对象(或函数)的实例数量。

例如,对于您的代码,您知道只要用户连接,就会创建一个套接字。当三个用户连接时,转储堆应该显示~3个套接字。在用户断开连接后转储堆应该显示~0套接字。

实际上,您可以在Node.js堆转储中使用Chrome堆转储分析器。

只有fyi,函数将显示在(closure)部分下的堆转储中。

您需要确保将函数命名(即使它们不需要名称),以便它们在堆转储中显示为有用的东西。

例如,类似于

function() { }

将在堆转储中显示为function()。其中as:

function taggedFunction() { }

将显示为堆转储中的function taggedFunction()。如果您创建了100个taggedFunctions,那么您将在堆转储中看到100次taggeFunction。基本上,命名您的函数可以让您知道您是否一直在创建和泄漏它们。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15723532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档