关于javascript:Node JS pm2最大内存限制

Node JS pm2 maximum memory limit

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

示例pm2 json文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
 "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脚本,此代码对我有用:

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

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


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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
 "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"
     ]
   }
 ]
}