[javascript] 치명적 오류 : 힙 한계에 근접한 비효율적 인 mark-compacts 할당 실패-ionic 3의 메모리가 부족한 JavaScript 힙
답변
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 build
Visual 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