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"
]
}
]
}
我正在使用 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"
]
}
]
}