相关疑难解决方法(0)

防止节点在 600 MB 内存限制的 docker build 中内存不足

docker build在构建内存和 CPU 的限制下运行。为了保持在构建的 CPU 和内存限制内,我还将 Node 的堆大小限制为 325 MB。这是docker build命令。

docker build --build-arg NODE_OPTIONS=--max-old-space-size=325 \
             --memory=600m --memory-swap=-1 \ 
             --cpu-period=100000 --cpu-quota=50000 \
             --no-cache --tag farm_app_image:latest --file Dockerfile .
Run Code Online (Sandbox Code Playgroud)

构建资源摘要

  • 节点 JS 堆限制:325 MB
  • 构建内存:600 MB,无限制使用交换文件。
  • 构建 CPU 时间:50%

尽管节点堆限制低于构建内存,并且尽管具有无限交换,但npm run buildreact-scripts build步骤的内存不足。

错误输出

  > react-scripts build                            

  Creating an optimized production build...                                                                                                                                          
EXEC : FATAL error : Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory …
Run Code Online (Sandbox Code Playgroud)

node.js npm docker docker-build

19
推荐指数
1
解决办法
1万
查看次数

在create-react-app项目中增加JavaScript堆大小

Node提供了通过传入--max-old-space-size命令行标志来增加堆大小的方法.在create-react-app项目中,一切都取决于react-scripts的使用.如何在这些项目中传递此参数,我应该在哪里做到最好?

谢谢你的帮助.

javascript v8 node.js reactjs create-react-app

7
推荐指数
4
解决办法
4046
查看次数