JavaScript heap out of memory


CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

今天导出报表数据时报此异常,查询后发现原因是堆内存不足

  • JavaScript 使用内存时只能使用部分内存(64位系统下约为1.4 GB,32位系统下约为0.7 GB)

Node 在启动时可以传递 –max-old-space-size 或 –max-new-space-size 来调整内存大小的使用限制

1
2
node --max-old-space-size=4096 app.js // 单位为MB
node --max-new-space-size=4096 app.js // 单位为KB

PM2 启动为

1
pm2 start app.js  --node-args="--nouse-idle-notification --max-old-space-size=4096 --max-new-space-size=4096" --name xxx -e logs/xxx.err -o logs/xxx.out -- 1000