JS内存溢出

Preface

随着项目的越来越大, 最近开始遇到项目在build的时候, 报错JavaScript heap out of memory


内存溢出

nodejs 默认限制了最大可使用的内存大小,nodejs V8引擎在 64 位机器上默认限制使用内存最大不超过 1.7GB,超过这个限制官方建议尝试优化为多线程方式。

解决办法可以是增加 nodejs 可使用的最大内存大小,也可以从降低程序内存消耗的角度入手。


解决方法

修改max_old_space_size

更改环境变量

1
2
3
4
5
# windows
set NODE_OPTIONS=--max_old_space_size=4096

# mac/linux
export NODE_OPTIONS=--max_old_space_size=4096

修改package.jsonscript脚本,如下

1
"dev": "NODE_ENV=development node --max-old-space-size=4096 index",

降低程序内存消耗

比如配置webpack关闭sourceMap


参考链接

nodejs 执行失败报错 “JavaScript heap out of memory” 的解决办法

关注我的微信公众号[李一二],即时看更多的文章