FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

有一个angular的项目,工程比较大,在一个内存为8G的笔记本上运行打包命令失败,报错:

FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory

原因是内存不足,需要加大V8默认的内存限制

–max-old-space-size

以下内容来自http://nodejs.cn/api v18.7.0版本的说明

Sets the max memory size of V8’s old memory section. As memory consumption approaches the limit, V8 will spend more time on garbage collection in an effort to free unused memory.

翻译:设置 V8 旧内存部分的最大内存大小。 随着内存消耗接近极限,V8 会花更多的时间在垃圾回收上,以释放未使用的内存。

On a machine with 2 GiB of memory, consider setting this to 1536 (1.5 GiB) to leave some memory for other uses and avoid swapping.

$ node --max-old-space-size=1536 index.js

看网上有人给的建议是 添加 --max_old_space_size这个参数,不知道具体是什么原因,也没研究,这里采用的是–max-old-space-size

在VUE的项目中做过如下修改生效

在node_modules.bin下的webpack-dev-server 或者 webpack-dev-server.cmd 文件中添加 --max-old-space-size=4096,可以根据项目调整大小,添加到下图箭头所示位置
在这里插入图片描述

在angular项目中做的修改

1、 在package.json中scripts 部分运行node命令的地方都加上–max-old-space-size=4096

"scripts": {
    "dev": "ng serve --port 4200 --open",
    "dev:open": "ng serve --disableHostCheck --host 0.0.0.0 --port 4200 --open",
    "build": "ng build --prod --outputPath=dist/web --base-href=/web/",
    "build:dev": "node --max-old-space-size=4096 run.js dev & ng build --prod --outputPath=dist/web --base-href=/web/",
    "copy": "node node_modules/ng-zorro-iop/copy.js",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },

2、在目录node_modules/.bin下的ng.cmd和ngc.cmd文件中,添加 --max-old-space-size=4096

@ECHO off
SETLOCAL
CALL :find_dp0

IF EXIST "%dp0%\node.exe" (
  SET "_prog=%dp0%\node.exe"
) ELSE (
  SET "_prog=node"
  SET PATHEXT=%PATHEXT:;.JS;=;%
)

"%_prog%" --max-old-space-size=4096 "%dp0%\..\@angular\cli\bin\ng" %*
ENDLOCAL
EXIT /b %errorlevel%
:find_dp0
SET dp0=%~dp0
EXIT /b

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值