我们已经在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(据我所知)的内存,我不明白为什么我会(随机)收到此错误。
任何想法都值得赞赏。
答案 0 :(得分:0)
在github上有很多关于这个问题的开放/关闭/重复的问题,所以我只是发布这些问题的重要信息。可能是一个或多个建议可能有用(我个人还没有遇到错误!)。
increase-memory-limit
软件包max_old_space_size
我希望对您有帮助!
参考文献: