728x90
반응형
개요
React 로 개발을 하면서 프론트 서버가 가끔 강제 종료되는 일이 자주 발생했다.
JavaScript heap out of memory 라고 오류 메세지가 출력 되는데
이유를 살펴보니 node.js가 과도하게 메모리 점유를 해서 발생한다.
해결 방법으로 더 큰 메모리를 할당 해 주면 된다고 하여 8GB를 할당 해 주었다.
해결 1
할당 해주는 방법은
터미널에
export NODE_OPTIONS="--max-old-space-size=8192"
위 코드를 입력해주면 해결 된다.
하지만 대부분 1시간을 버티지 못하도 다시 서버가 강제 종료 되었다.
알고 보니 너무 많이 할당을 해주어도 문제이다.
내 노트북은 8gb 램인데 다 할당을 해주니 다른 프로그램이 할당 받을 것을 다 뺏어버린 것이다.
결국 충돌로 꺼지게 된다는것을 알게 되었다.
과유 불급이었다.
해결 2
그래서 1gb부터 8gb까지 1기가씩 증가시켜서 램을 할당 해주니 3gb가 딱 적당했다.
export NODE_OPTIONS="--max-old-space-size=3072"
나는 이 오류로 2달을 고생했다. 지금이라도 고쳐서 다행이다.
구글링으로 알기 어려우니 글을 남겨서 다른 사람들도 램을 적당히 할당해주길 바란다.
1gb ~ 8gb
1GB ~ 8GB 할당 명령어
#1gb
export NODE_OPTIONS="--max-old-space-size=1024"
#2gb
export NODE_OPTIONS="--max-old-space-size=2048"
#3gb
export NODE_OPTIONS="--max-old-space-size=3072"
#4gb
export NODE_OPTIONS="--max-old-space-size=4096"
#5gb
export NODE_OPTIONS="--max-old-space-size=5120"
#6gb
export NODE_OPTIONS="--max-old-space-size=6144"
#7gb
export NODE_OPTIONS="--max-old-space-size=7168"
#8gb
export NODE_OPTIONS="--max-old-space-size=8192"
8gb 이상 할당은 해주지 말자.
gb계산이 귀찮으니 위 코드를 복붙해서 사용하길 바란다.
etc
CRA가 아닌 node에서 발생해도 해결이 가능하다.
728x90
반응형
'Front-End > React.js' 카테고리의 다른 글
React.js | Javascript To Typescript | Cannot use JSX unless the '--jsx' flag is provided. 에러 (0) | 2023.01.31 |
---|---|
React.js | Javascript To Typescript | 설정 파일 (0) | 2023.01.31 |
React.js | Text 데이터 줄바꿈 안먹힐 때 (0) | 2022.12.05 |
React.js | 스크롤 감지 핸들러 (0) | 2022.11.23 |
React.js | string을 HTML 태그로 보여지게 하기 (0) | 2022.05.20 |