问题标签 [node-memwatch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1158 浏览

javascript - 使用 node-memwatch 跟踪内存泄漏?

我正在尝试使用 node-memwatch 来跟踪我的应用程序中的内存泄漏。目前我在应用程序启动时创建一个 HeapDiff,然后在 mem-watch 检测到泄漏时进行差异。我发现了一些看起来可疑的项目,但我不明白我应该如何将报告的内容映射到我的代码中。例如,在 diff 中报告了以下项目:

这似乎是内存泄漏的主要嫌疑人。我怎样才能找出我的哪一段代码导致了这个泄漏?在他们在其网站上提供的示例中,what通常是显而易见的MyLeakyClass,而不是系统类型......

0 投票
0 回答
113 浏览

node.js - What does the class "Code" represent in memwatch's diff report?

I'm tracking down a memory leak in my nodejs app, and using memwatch for that. The diff reports shows me that 2 classes are growing, one is "Array", the other is "Code". For example:

There's no class "Code" in my app, nor can I see any in the immediate libraries I am using. Does the class "Code" have a spacial meaning in memwatch? And how can I troubleshoot further from here?

0 投票
2 回答
7542 浏览

node.js - node-gyp 重建总是返回错误

我正在尝试安装hiredis 和memwatch。但是调用 node-gyp rebuild 返回错误如下。我认为需要节点源文件来重建。我有源文件,但我不知道如何配置它。

0 投票
3 回答
2168 浏览

node.js - 使用 memwatch 进一步定位内存泄漏

最近我开始了我的第一个项目node.js,我可以肯定地说我很喜欢它。所有模块都非常强大;但是,似乎我有一个“轻微”的内存泄漏,导致我的服务器在大约一个小时后崩溃(达到 99-100% 的 CPU)。我一直在尝试解决这个问题一段时间。

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

最终,在查看日志后,我找到了可能的原因。

当然,在 30 秒内,这个小虫子就增加了 9mb(非常不寻常)。很高兴知道我的内存泄漏似乎是 type string,但是我到底该去哪里呢?有什么方法可以得到更准确的结果吗?

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

0 投票
1 回答
463 浏览

javascript - 节点 memwatch:本机类型的泄漏

我有一个节点应用程序随着时间的推移而变慢。阅读https://hacks.mozilla.org/2012/11/tracking-down-memory-leaks-in-node-js-a-node-js-holiday-season/似乎我有内存泄漏和v8 gc 正在减慢我的应用程序。所以我试过 node-memwatch 但相关结果是

但我不知道在我的代码库中搜索什么。我认为本地 v8 功能的本地引用,但我被锁定在这里。

因此,如果我们曾经尝试过,谢谢您的回答。

0 投票
0 回答
335 浏览

javascript - Node.js、SQLite3 和 Express - POST 上的潜在内存泄漏

我对 node.js 比较陌生,我的任务是编写一个简单的消息队列应用程序 - 基本上,该应用程序将收到一个包含一些消息数据和客户端 mac 地址的帖子,我们将其解码然后插入到sqlite 数据库,稍后由单独的进程发布。

一切正常,但我们遇到了可能是内存泄漏的情况。使用 memwatch 模块,我将泄漏范围缩小到处理传入帖子的代码,我将其包括在下面:

我在这里找不到任何看起来不正确的东西,但是当我们向应用程序发布 10000 个请求时,我们几乎总是在 memwatch 中触发内存泄漏事件。我在这里寻找正确方向的推动力:我们只是误解了 memwatch,还是这里有泄漏我以某种方式错过了?据我了解,memwatch 认为连续 5 次或更多 V8 垃圾收集尝试的堆增长是泄漏 - 似乎有可能像这样一次有 10000 个帖子,这种堆增长是可以预期的,但我还没有发现一个明确的答案,需要排除它。任何帮助,即使你只是指出我正确的方向,将不胜感激!

0 投票
2 回答
445 浏览

node.js - node.js memwatch 追踪内存泄漏

我一直在寻找节点程序中一个非常糟糕的内存泄漏。

我正在使用 memwatch 模块 HeapDiff() 来尝试识别有问题的对象。

HeapDiff 的报告显示了 details 数组中的两个可疑元素(“Array”和“String”,每个元素都有相当大的增长。

我正式迷路了,不知道如何缩小可能的罪魁祸首。有几十个 google-able howtos,但对我来说没有任何意义。有问题的程序使用了很多 3rd 方模块,包括载体、出队和 mqtt。这是 318 行代码,所以我没有发布它。

我会很感激任何关于我下一步应该做什么的指示......

这是 memwatch HeapDiff 转储的摘录:

0 投票
2 回答
1199 浏览

javascript - 我如何理解 node-memwatch 统计数据?

它来自 memwatch nodejs 库:

https://github.com/lloyd/node-memwatch#heap-usage

其中哪一项代表脚本使用的内存?其他人是什么意思?github页面并没有真正解释它。

0 投票
1 回答
1158 浏览

node.js - 在 CentOS 6 上安装 node-memwatch,node-gyp 重建错误

尝试使用“npm install memwatch”安装 memwatch 时,出现以下错误:

我在服务器上安装了带有 python 2.6.6 的 CentOS6。

memwatch@0.2.2 install /home/[[username]]/public_html/sockets/node_modules/memwatch node-gyp rebuild

“重建” gyp ERR!cwd /home/[[用户名]]/public_html/sockets/node_modules/memwatch gyp ERR!节点 -v v0.10.36 gyp 错误!节点-gyp -v v1.0.1 gyp 错误!不好

0 投票
0 回答
786 浏览

node.js - 节点 4+ 上的节点内存监视?

任何人都知道 node-memwatch 是否支持较新版本的节点(4+)?我在节点 4.2.2 上遇到很多安装错误(从:

make: 进入目录 `/home/joni/inpact/sources/ros/node_modules/memwatch/build' CXX(target) Release/obj.target/memwatch/src/heapdiff.o 在来自 ../src/heapdiff 的文件中。 cc:5:0: ../src/heapdiff.hh:15:5: error: '{' token { ^ ../src/heapdiff.hh:19:49: error: 'Arguments' 之前的预期类名在命名空间 'v8' 中没有命名静态 v8::Handle New( const v8::Arguments& args ) 类型;

...)

我检查了他们在 travis-ci 上的构建,看起来他们只在节点 0.1、0.6 和 0.8 上构建。

只是想知道是否有人在更高版本的节点上得到了这个工作。