NodeJS内存泄漏缓冲区

时间:2018-05-09 11:10:48

标签: javascript node.js memory-leaks server buffer

我运行了一个NodeJS服务器,它的内存消耗每天都在增加。

我搜索了互联网以找出问题的来源,所以我使用了node-heapdump模块来分析内存。

服务器启动时文件的大小几乎与我几天后的文件大小相同,而PM2告诉我使用的内存明显增加。

随后我知道缓冲区存储在V8和#34的堆之外;缓冲区类似于整数数组,但对应于V8堆外的原始内存分配"所以我想我的内存泄漏问题来自于我使用大量缓冲区的事实,情况确实如此。

问题在于我认为我确切地知道问题在哪个文件中,但我不知道如何解决它。

以下是文件https://hastebin.com/apicituleb.js

的代码

这是" creatImage"的结果示例。功能 Image

模块" ressourcesManager"包含我在我的应用程序中需要的所有资源,所以有很多缓冲区,但我不认为问题来自于因为我在启动时加载它们一次。 模块代码" ressourcesManager"非常粗糙,但如果你想看看https://hastebin.com/neyanuhema.php

,这里是代码

我已经有一段时间了,因为我有这个问题我无法解决,所以如果人们想花一点时间来帮助我,我会非常感激。

PS:如果你想要堆快照文件,它们是:

开始:https://drive.google.com/open?id=1LDwk8y3cygGDrSr1z8xV__PboWiEtQHt

结束:https://drive.google.com/open?id=1s4WXgia2CM4rb3fd6wCdVxOLgiS9Oahz

1 个答案:

答案 0 :(得分:0)

也许node-oom-heapdump模块可以提供帮助?它提供与node-heapdump相同的功能,但是当内存不足即将发生时,它也会自动创建一个堆转储(这是拥有堆转储最有趣的时刻)。也许这个heapdump可以提供更多的洞察力?

相关问题