目前我正在使用 forever处理 EC2 上的崩溃等,但我想要一些方法来管理在服务器上的 CPU 使用率达到 100% 时重新启动应用程序。
它现在的工作方式是,当 CPU 使用率达到 100% 时,应用程序停止运行,如果我没有注意到亚马逊在我的邮件上发送的警报,应用程序将保持关闭状态,直到我手动重新启动 再次使用 forever .
我想要的是一种在 CPU 使用率达到 90% 或更高时重新启动应用程序的方法,我应该使用另一个模块而不是 forever 吗?如果是的话有什么建议吗?
最佳答案
我建议您减少 CPU 使用率,但是,我使用了类似的技巧,但在内存使用率过高时重新启动(由于非常小的内存泄漏)
你需要模块“用法”
var usage = require('usage');
然后:
CHECK_CPU_USAGE_INTERVAL = 1000*60; // every minute
HIGH_CPU_USAGE_LIMIT = 90; // percentage
autoRestart = setInterval(function()
{
usage.lookup(process.pid, function(err, result)
{
if(!err)
{
if(result.cpu > HIGH_CPU_USAGE_LIMIT)
{
// log
console.log('restart due to high cpu usage');
// restart because forever will respawn your process
process.exit();
}
}
});
}, CHECK_CPU_USAGE_INTERVAL);
关于node.js - 当 Amazon EC2 上的 CPU 使用率达到 100% 并且服务器停止时如何重新启动我的 Node js 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25976783/