我有一个Node.js应用程序,它基本上是由于此错误导致CONSTANTLY崩溃的样板:
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。此时无法执行任何操作但请删除该服务。 :(
答案 0 :(得分:0)
在低内存环境中运行应用程序时,可能会发生垃圾收集未及早触发的情况。你可以手动调用它,看看是否有帮助。
将--expose-gc
添加到应用的启动命令中 - 例如:
node --expose-gc myapp.js
然后在你的代码中定期执行此操作:
Global.gc()
为了监控应用程序的内存消耗,您可以执行cf curl:
cf curl /v2/apps/<your app guid>