网站搜索

javascript - pm2 应用程序无故随机重启


我有一个预生产服务器和一个生产服务器,它们都运行着 Sails.js 应用(www.sailsjs.org)。我遇到过 pm2 无规律地随机重启我的应用。我检查了以下方面是否有任何规律: - 重启前的内存使用情况——有时约为 320MB,有时约为 410MB - 事件/请求/错误——在我的 Nginx、Node、PM2 或应用日志中都没有显示错误或任何问题

这在集群模式或 fork 模式下的测试服务器和生产服务器上都会发生。至少我没有在本地遇到过这种情况。

信息 服务器:Digitalocean 云服务器 2GB 内存 2 核 CPU Ubuntu 14.04 LTS 节点:v4.4 PM2:1.0.2

另外,pm2 list 命令显示该应用运行了 3 小时,但却显示重启次数为零,而我确切知道该应用已经运行了好几天。我还有一个 keymetrics.io 账户用于监控服务器,它向我显示了 pm2 的重启情况(pm2.log 与这些重启相对应):

答案#1

如果你查看 PM2 帮助,pm2 --help,你会看到一个选项 --no-autorestart,它表示 启动应用而不自动重启。那应该可以解决问题。

但你希望 PM2 在内存不足时能够重新启动。你可以使用 --max-memory-restart 选项增加最大内存限制以触发重启。

示例,max-memory-restart 设置为 5000mb:

PM2 start --name my-process --max-memory-restart 5000M index.js