CircleCI Angular ng构建-分配失败(内存问题)?

时间:2018-11-30 12:22:12

标签: node.js angular memory circleci circleci-2.0

我们已经在circleci上运行了一段时间。最近(有时),它们由于运行ng build时分配失败而失败。

我们正在使用的特定构建命令是

ng build --prod --sourcemaps --aot true --build-optimizer --env=stage

这是输出日志。

70% building modules 1562/1562 modules 0 active
79% module and chunk tree optimization         
80% chunk modules optimization
81% advanced chunk modules optimization                     
82% module reviving
83% module order optimization   
84% module id optimization
85% chunk reviving
86% chunk order optimization    
87% chunk id optimization
88% hashing
89% module assets processing
90% chunk assets processing
91% additional chunk assets processing
92% recording 91% additional asset processing   
92% chunk asset optimization
<--- Last few GCs --->

121548 ms: Scavenge 1327.9 (1434.3) -> 1327.8 (1434.3) MB, 21.8 / 0 ms (+ 1.6 ms in 9 steps since last GC) [allocation failure].
121572 ms: Scavenge 1327.9 (1434.3) -> 1327.9 (1434.3) MB, 22.7 / 0 ms (+ 0.3 ms in 1 steps since last GC) [allocation failure].
121595 ms: Scavenge 1327.9 (1434.3) -> 1327.9 (1434.3) MB, 22.9 / 0 ms [allocation failure].
121617 ms: Scavenge 1327.9 (1434.3) -> 1327.9 (1434.3) MB, 22.0 / 0 ms [allocation failure].


<--- JS stacktrace --->
Cannot get stack trace in GC.
FATAL ERROR: Scavenger: semi-space copy
Allocation failed - process out of memory
Aborted (core dumped)
Exited with code 134

top过滤到node的Pid在本地运行时,它将占用约1.4GB的内存使用量,而没有源映射时它将占用约800mb的内存。

CircleCI允许4gb(据我所知)的内存,我不明白为什么我会(随机)收到此错误。

任何想法都值得赞赏。

1 个答案:

答案 0 :(得分:0)

在github上有很多关于这个问题的开放/关闭/重复的问题,所以我只是发布这些问题的重要信息。可能是一个或多个建议可能有用(我个人还没有遇到错误!)。

  1. 如果不需要,请禁用源地图
  2. 降级angular-cli并检查是否可以解决您的问题
  3. 在您的应用中安装并使用increase-memory-limit软件包
  4. 按照指定的here增加max_old_space_size

我希望对您有帮助!

参考文献:

https://github.com/angular/angular-cli/issues/10897

https://github.com/angular/angular-cli/issues/5618