我有一个相对简单的 React 15 网站。它只有几个不同的页面,主要是文字和一些图片。但是,当我用于react-scripts build构建用于生产部署的项目时,我发现节点进程最高使用了大约1.25 GB的 RAM。在我的工作站上构建时这不是问题,但在我的生产服务器上是一个问题,我目前只有1 GB的可用 RAM。大多数情况下,服务器会因为内存不足而终止我的构建。
所以看起来我的选择是花更多的钱升级到服务器上的2GB内存,或者找到一些方法来减少内存使用。我想避免支付更多费用,因为通常我不会使用超过200 MB的 RAM 来运行我的应用程序,而且它只是构建使用大量 RAM 的应用程序。
我似乎有些人建议--max-old-space-size=在构建中添加一个标志,但这似乎没有任何作用。也就是说,我已经在我的 package.json 中尝试过这个:
"build": "react-scripts --max-old-space-size=512 build"
Run Code Online (Sandbox Code Playgroud)
但它仍然使用了1+ GB的 RAM。我通过 开始构建npm run build,并将--max-old-space-size标志添加到该npm命令似乎没有任何作用。
我能做些什么来防止react-scripts构建过程使用这么多内存?
我正在使用util模块调试nodejs应用程序,而heapUsed值保持在30-100MB左右,heapTotal值增长到1.4GB.
我已经读过这是v8垃圾收集器的行为方式,但问题是如果在512 MB设备上运行,如何减少它分配的内存量(使其小于1.4GB)
如何docker build从Dockerfile更多的内存?
这是一个与此不同的问题当docker构建Dockerfile时允许更多内存
在本机安装软件时,有足够的内存来成功构建和安装该marian工具
但是当使用Dockerfile
https://github.com/marian-nmt/marian/blob/master/scripts/docker/Dockerfile.cpu构建Docker镜像时,它会因多个内存耗尽错误而失败
virtual memory exhausted: Cannot allocate memory
Run Code Online (Sandbox Code Playgroud)
[OUT]:
Step : RUN cmake $MARIANPATH && make -j
---> Running in 4867d166d17a
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting …Run Code Online (Sandbox Code Playgroud) memory ×2
node.js ×2
build ×1
docker ×1
docker-build ×1
javascript ×1
neural-mt ×1
reactjs ×1
v8 ×1