Node JS pm2最大内存限制

Node JS pm2 maximum memory limit

我正在使用 pm2 和节点 js。我想要做的是为应用程序设置最大内存限制。我的开发服务器的限制是在两个应用程序之间分配 500mb。理想情况下,我想将其限制为 200mb。我需要这个限制作为应用程序的硬限制,并且如果超过它就不会像 pm2 命令 "max_memory_restart" 那样重新启动应用程序。我也尝试过使用 --max_old_space_size 命令但没有成功。有什么办法吗?

示例 pm2 json 文件

{
  "apps": [
   {
     "name": "Sample",
     "script": "runit.js",
     "watch": false,
     "cwd": "xxxxxx",
     "env": {
       "NODE_TLS_REJECT_UNAUTHORIZED": '0',
       "NODE_ENV": "local_public",
       "PORT": 3000,
       "PROXY_PORT": 4000,
     },
     "args": [
       "--max_old_space_size=200"
     ]
   }
 ]

}

我使用 pm2 直接 运行 node.js 脚本,这段代码对我有用:

pm2 start file.js --max-memory-restart 100M

希望 max-memory-restart 参数对您有用

您必须使用 node_args 而不是 args。此外,为了安全起见,您可以手动设置 max_memory_restart 此选项使您能够在进程崩溃之前重新启动它。

{
  "apps": [
   {
     "name": "Sample",
     "script": "runit.js",
     "watch": false,
     "cwd": "xxxxxx",
     "env": {
       "NODE_TLS_REJECT_UNAUTHORIZED": '0',
       "NODE_ENV": "local_public",
       "PORT": 3000,
       "PROXY_PORT": 4000,
     },
     "max_memory_restart": "180",
     "node_args": [
       "--max_old_space_size=200"
     ]
   }
 ]
}