[javascript] 치명적 오류 : 힙 한계에 근접한 비효율적 인 mark-compacts 할당 실패-ionic 3의 메모리가 부족한 JavaScript 힙

이 오류가 발생하는 것보다 “ionic serve”명령을 사용하여 ionic 3 프로젝트를 실행할 때 :

여기에 이미지 설명 입력



답변

Google에서이 질문에 도달 한 사람들을위한 각도가 아닌 일반적인 답변 :

이 오류가 발생할 때마다 메모리 누수 또는 Node <= 10과 Node> 10이 메모리를 관리하는 방법의 차이 때문일 수 있습니다. 일반적으로 노드에 할당 된 메모리를 늘리는 것만으로 프로그램을 실행할 수 있지만 실제 문제를 실제로 해결하지 못할 수 있으며 노드 프로세스에서 사용하는 메모리는 할당 한 새 메모리를 초과 할 수 있습니다. 노드 프로세스가 실행되거나 노드> 10으로 업데이트 될 때 메모리 사용량을 프로파일 링하는 것이 좋습니다.

메모리 누수가 발생했습니다. 다음은 node의 메모리 누수 디버깅에 대한 훌륭한 기사 입니다.

즉, 노드 프로세스를 실행하는 터미널에서 메모리를 늘리려면 다음을 수행하십시오.

export NODE_OPTIONS="--max-old-space-size=8192"

의 값은 어디 max-old-space-size될 수 있습니다 [2048, 4096, 8192, 16384]

[업데이트] 더 명확하게하기위한 더 많은 예 :

export NODE_OPTIONS="--max-old-space-size=5120" #increase to 5gb
export NODE_OPTIONS="--max-old-space-size=6144" #increase to 6gb
export NODE_OPTIONS="--max-old-space-size=7168" #increase to 7gb
export NODE_OPTIONS="--max-old-space-size=8192" #increase to 8gb

# and so on...

# formula:
export NODE_OPTIONS="--max-old-space-size=(X * 1024)" #increase to Xgb

# Note: it doesn't have to be multiples of 1024. 
# max-old-space-size can be any number of memory megabytes(MB) you have available.


답변

제 경우에는 NodeJs, 버전 12.10.0을 설치하는이 문제를 수정하십시오.


답변

centos 서버 7에서 동일한 문제가 발생했지만 이것은 내 문제를 해결했습니다.

node --max-old-space-size=X node_modules/@angular/cli/bin/ng build --prod

X = (2048 or 4096 or 8192 o..)기억의 가치는 어디에 있습니까


답변

포럼의 이전 메시지에서 지적 된이 솔루션을 사용해보십시오 : https://forum.ionicframework.com/t/3-7-0-ios-build-with-prod-not-working/107061/24

열다 node_modules/@ionic/app-scripts/bin/ionic-app-scripts.js

다음에서 첫 번째 줄을 변경합니다.

#!/usr/bin/env node

…에

#!/usr/bin/env node --max-old-space-size=4096

1024 및 2048 값을 시도하지만 상대적으로 큰 앱의 경우 4096이 필요할 수 있습니다.


답변

ng buildVisual Studio 코드에서 명령을 실행할 때 동일한 오류가 발생 합니다. 그러나 다음 순서로 Windows 명령 줄에서 동일한 것을 실행하면 성공적으로 빌드 할 수 있습니다.

1 단계.

set NODE_OPTIONS=--max_old_space_size=4096

2 단계.

ng build


답변

Visual Studio 코드에서 다음 문을 실행할 때 동일한 오류 메시지가 나타납니다. 그러나 Windows 명령 줄에서 동일한 작업을 실행하면 성공적으로 빌드 할 수 있습니다.

npm install -g increase-memory-limit
increase-memory-limit
set NODE_OPTIONS=--max_old_space_size=4096
ng build -c deploy --build-optimizer --aot --prod --sourceMap


답변

node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng build --baseHref=/baseUrl/ --prod=true