Tag: 内存

节点和RxJs:我怎样才能避免一个漫长的过程内存泄漏?

我正在编写一个需要很长时间运行的进程,我正在寻找优化已用内存的方法 我有一个随着时间stream逝的数据stream,我想要一个方法来清理这些数据,并在stream完成时声明variables。 有任何想法吗? 我已经设定了一个问题的简单例子: var source = Rx.Observable.interval(100) .take(20) .map((x) => { let onlyTrash = _.range(1000000); return x; }); let subscription = source.subscribe( x => console.log(getMemoryUsage()), err => console.log('Error: ' + err), () => console.log('Completed: ' + getMemoryUsage()) ); 我无法在小提琴中显示它,因为它引用了进程来获取内存使用情况 如果你运行这个例子,你会注意到内存的使用在每个tick中增加,但是在完成时不会减less, 这是问题所在 。 这里是getMemoryUsage函数的一个例子,如果你想在你的节点中尝试 var lastMemoryUsageRegister; function getMemoryUsage() : string { var memoryUsage : string; […]

Node.js和MongoDB内存消耗

我昨天从我的主机提供商收到一封电子邮件,说我的Node.js(Express)应用程序和MongoDB(都与Forever一起运行)消耗的内存太多 – 大约300MB(我的托pipe限制是256MB)。 该节点的应用程序只是由express.js生成的一个简单的演示,我是我的网站的唯一访问者。 这怎么可能? 我已经将我的托pipe计划升级到了512MB,但是我不确定是否足以运行节点应用程序。 我不希望有数以万计的访问者,但需要多less内存来运行一个node.js应用程序,每天有2000 – 5000个独立访问者运行? 谢谢, -M

nodejs内存泄漏在几种情况下

原始的本地tcp服务器我用一个客户端testing代码来并发长时间连接服务器,什么也不做,5w conncetion后closuresclient.js,但服务器端将有大约100M内存不释放。 服务器代码: var net = require('net'); var server = net.createServer(function(client) { console.log('server connected'); client.on('data',function(){}); client.on('end',function(){console.log('end');}); }); server.listen(8124, function() { console.log('server bound'); }); 客户端代码: var net = require('net'); var host = '192.168.0.110' // var host = "localhost" , port = 8124 for(var i=0; i < 50000; i++){ var client = net.connect({host: host, port: port}, function(i){ […]

内存泄漏节点js

我的nodejs应用程序有内存泄漏。 为了恢复应用程序的目的,它是由iOS应用程序调用的api和用于pipe理某些内容的后台。 应用程序正在生产中,由于使用情况,我们遇到了一些内存泄漏。 服务器上的内存始终在上升,永不停机。 我尝试使用node-heapdump来分析问题。 首先,我看到node-heapdump给出的快照的堆大小与应用程序在内存中占用的大小(堆大小〜30Mb和RAM大小〜100Mb)之间有很大差异,这种差异是从哪里来的? 然后,我看到一个堆大小的增量只是刷新一个不返回任何东西的主页。 有没有人有我的问题可以在哪里的想法? 有关信息我使用nodejs版本0.10.x和expressjs 4.0.0 在此先感谢家伙。 编辑 我安装了memwatch-next,并引发了泄漏事件。 我有这个错误: 警告:检测到可能的EventEmitter内存泄漏。 添加了11个泄漏监听器。 使用emitter.setMaxListeners()来增加限制。 我尝试设置defaultMaxListeners,但是当我强调该应用程序的泄漏事件后有所提高。 有谁知道这个错误是什么意思?

从内存释放大节点模块

我正在加载一个大的JS模块到内存中,我想释放它,当不再需要释放内存。 我用来testing的代码是这样的: var lex = require('./lex.js'); //Big module (10M array) setInterval(() => console.log(process.memoryUsage()), 1000); setTimeout(() => { lex = null; delete require.cache[require.resolve('./lex.js')]; }, 5000); // this script outputs each second // { rss: 151756800, heapTotal: 131487520, heapUsed: 108843840 } // { rss: 151760896, heapTotal: 131487520, heapUsed: 108850024 } // … // and after 5 seconds […]

什么是确定node.js内存泄漏的好方法?

部署时,我的node.js应用程序遇到内存相关的错误(即致命错误:CALL_AND_RETRY_0分配失败 – 进程内存不足)。 我想在本地configuration我的节点,看看什么是吃了回忆,但不知道从哪里开始。

在node.js应用程序中绘制内存使用情况的不同工具?

我正在开发一个项目,它有几个在node.js中运行的持久化进程。 当我添加到项目中时,我希望能够开始绘制每个进程的内存使用情况,作为我的debugging过程的一部分。 我知道这可能甚至不是一个node.js问题。 我对完成这种特定工作的各种工具的了解很less,我需要一些指导。 我的生产环境是Ubuntu 11.04服务器实例,我的开发机器运行Snow Leopard。 我应该看什么样的工具?

Node.js的性能和内存泄漏

我面对一些node.js记忆怪异,与反应prerendering应用程序。 这里是通过newrelic进行内存分析: 正如你所看到的那样 – 在一个小时内GC就会释放内存,达到1GB。 这是好的node.js(v0.12.x)或出了什么问题? PS我读了关于newrelic的内存泄漏,但closures它提供了相同的结果。

将Node.js的内存使用限制在每个进程less于300MB

我们在单独的进程中运行testing,我们的一些testing套件包含超过20个文件。 我们如何限制(而不是增加)一个Node.js进程使用的内存量小于300MB? 如果我们不限制内存,我们可以使用高达20x500MB,大约10GB,这是太多的内存。 我可以在网上find一些关于增加内存的文章,但我无法find任何限制每个进程内存的内容。 具体来说,我们使用核心的child_process模块​​来创buildsubprocess,我想我们需要一些标志或arg来传递给cp来指定一个内存上限。

AWS弹性beanstalk部署因ENOMEM错误而失败

您的AWS Elastic Beanstalk部署失败: – 间歇性 – 没有真正明显的原因 第1步:检查明显的日志 /var/log/eb-activity.log Running npm install: /opt/elasticbeanstalk/node-install/node-v6.10.0-linux-x64/bin/npm Setting npm config jobs to 1 npm config jobs set to 1 Running npm with –production flag Failed to run npm install. Snapshot logs for more details. Traceback (most recent call last): File "/opt/elasticbeanstalk/containerfiles/ebnode.py", line 695, in <module> main() File "/opt/elasticbeanstalk/containerfiles/ebnode.py", line […]