是什么让我的节点应用程序使用 pm2 每 30 秒重新启动一次

What makes my node app restart every 30 seconds using pm2

我对 pm2 还是很陌生,目前正在尝试获取节点应用程序 运行。这工作正常,除了应用程序无故重启。

应用程序在开发机器上运行良好,没有任何崩溃。日志文件没有显示任何崩溃。 (已经测试日志文件会记录崩溃。)

我是不是配置错了pm2?

ecosystem.json

{
  "name"             : "app1",
  "cwd"              : "/home/pm2/apps/app1/prod",
  "script"           : "dist/main.js",
  "log_date_format"  : "YYYY-MM-DD HH:mm Z",
  "error_file"       : "/home/pm2/apps/app1/logs/stderr.log",
  "out_file"         : "/home/pm2/apps/app1/logs/stdout.log",
  "pid_file"         : "/home/pm2/apps/app1/pids/app1.pid",
  "instances"        : 1, //or 0 => 'max'
  "min_uptime"       : "200s", // 200 seconds, defaults to 1000
  "max_restarts"     : 10, // defaults to 15
  "max_memory_restart": "1M", // 1 megabytes, e.g.: "2G", "10M", "100K", 1024 the default unit is byte.
  "cron_restart"     : "1 0 * * *",
  "watch"            : false,
  "ignore_watch"     : "./logs",
  "exec_interpreter" : "node",
  "env": {
    "NODE_ENV": "production"
  }
}

logs/stdout.log

2016-10-24 14:28 +02:00: server listening on port 3100
2016-10-24 14:28 +02:00: server listening on port 3100
2016-10-24 14:29 +02:00: server listening on port 3100
2016-10-24 14:29 +02:00: server listening on port 3100
2016-10-24 14:30 +02:00: server listening on port 3100
2016-10-24 14:30 +02:00: server listening on port 3100

logs/stderr.log

//empty...

这个指令可能有问题:'max_memory_restart'。 1 MB 的应用程序价值非常低。尝试增加到 ~200MB - 取决于您的应用程序内存要求。

编辑:该指令表示可以消耗的最大内存量。如果进程将分配更多,它将被重新启动。