Javacript Heap Out Of Memory 문제 해결

By JS | Last updated: July 12, 2021

GatsbyJS를 빌드하는 중에 JavaScript heap out of memory 에러가 발생하였습니다.

Heap 메모리가 부족해서 발생한 것인데, Heap을 늘려주면 문제는 해결됩니다.

문제 발생 로그

The following pages will be precached:
/offline-plugin-app-shell-fallback/index.html
⠦ Caching JavaScript and CSS webpack compilation
⠸ Caching HTML renderer compilation
⠙ onPostBuild

<--- Last few GCs --->
...

<--- JS stacktrace --->

==== JS stack trace =========================================

Security context: 0x34ae56dc08d1 <JSObject>
    0: builtin exit frame: stringify(this=0x34ae56ddee79 <Object map = 0x2133768c3639>,0x39185e6c0731 <String[#0]: >,0x39185e6c01b9 <null>,0x1220921c5e71 <Object map = 0x2679f77137b9>,0x34ae56ddee79 <Object map = 0x2133768c3639>)

    1: set [0x3e4f85d2ccf9] [/home/mjs/codechacha-latest/codechacha/node_modules/@ampproject/toolbox-core/lib/FileSystemCache.js:~71] [pc=0x3c5586376f26](this=0x03714d...

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 0xa08900 node::Abort() [node]
 2: 0xa08d0c node::OnFatalError(char const*, char const*) [node]

문제 해결 방법

아래와 같이 NODE_OPTIONS으로 메모리 크기를 늘려주면 해결됩니다. 이렇게 했는데도 에러가 발생하면, 메모리를 더 많이 늘려주시면 됩니다.

$ export NODE_OPTIONS=--max_old_space_size=4096

.bashrc

.bashrc에 아래와 같이 코드를 추가해주시면 터미널에서 옵션이 항상 적용됩니다.

export NODE_OPTIONS=--max_old_space_size=4096
댓글을 보거나 쓰려면 이 버튼을 눌러주세요.
codechachaCopyright ©2019 codechacha