1背景
jenkins + docker 自动化部署vue 项目,然后各种坑然后就遇到了久违了 oom 了
打印的日志到 building 就没下文了也不报错 jenkins 服务还死掉了,然后去代码看是不是配置有问题啥的,再检查一遍
用的若依的开源项目,对应配置
检查后没毛病,上服务器看日志
重现问题,看看经过
看着内存涨的,股票都没这样涨过
解决:
//加上下面这一段
"scripts": {
"fix-memory-limit": "cross-env LIMIT=4096 increase-memory-limit"
},
npm install -g cross-env
npm install -g increase-memory-limit
就可以了
服务器上面对应的包也出来了
2为什么npm bulid 内存会暴涨
网上搜了一圈好像也没找到大白话的解释,只有这个 “CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory JavaScript堆内存不足”
,大概意思是 JavaScript 其实就是 Node, 它是基于V8引擎,在 Node 中通过 JavaScript 使用内存时只能使用部分内存(64位系统下约为1.4 GB,32位系统下约为0.7 GB),然后编译项目时才会出现内存泄露,如果前端项目非常的庞大,webpack 编译时就会占用很多的系统资源,如果超出了V8对 Node 默认的内存限制大小就会出现上面打引号的错误了。