javascript - Node.js 应用程序不断崩溃 - 内存

标签 javascript node.js ibm-cloud

我有一个 Node.js 应用程序,它基本上是由于此错误而不断崩溃的样板:

an instance of the app crashed: out of memory

我不知道这个应用程序怎么会在 256mb 内存的情况下崩溃。除了响应http请求之外,它在服务器端几乎不做任何事情,我想知道这是怎么回事。垃圾收集问题?

app.js

require('newrelic'); //monitoring

var express = require('express');//middleware
var app = express();

var cfenv = require('cfenv');// Cloud Foundry library
var appEnv = cfenv.getAppEnv();

app.use(express.static(__dirname + '/public'));

app.listen(appEnv.port, appEnv.bind, function() {
	console.log("server starting on " + appEnv.url);
});

更新 This appears to be the issue 。此时无法执行任何操作,只能删除该服务。 :(

最佳答案

在低内存环境中运行应用程序时,可能会发生垃圾收集未及早触发的情况。您可以手动调用它,看看是否有帮助。

--expose-gc 添加到应用程序的启动命令 - 例如:

node --expose-gc myapp.js

然后在您的代码中定期执行此操作:

Global.gc()

为了监视应用程序的内存消耗,您可以执行 cf curl:

cf curl /v2/apps/<your app guid>

关于javascript - Node.js 应用程序不断崩溃 - 内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31599559/

相关文章:

javascript - 在 Node 中测试绑定(bind)函数

db2 - 有什么方法可以将 DB2 备份文件恢复到 IBM DashDB 上吗?

javascript - 使用 Ajax 和 Dojo 轮询服务器

javascript - 如何在不使用 Eval 的情况下调用匿名函数?

javascript - 使用 JavaScript 从数组中删除重复元素

node.js - 更新mongoDB文档需要两次

node.js - npm安装jdbc出错

javascript - 对象值中的两条垂直线在 JavaScript 中意味着什么?

node.js - 为什么我在 'npm install ibmconfig' 上收到 ERR 404 ? #bluemix Nodejs 服务器

ibm-cloud - 减少 Bluemix 应用程序实例时的行为