Search

NodeJS 메모리 부족 현상 (JavaScript heap out of memory)

생성일
2025/01/15 07:29
태그
Node.js
날짜
상위 항목
하위 항목

개요

아래 에러 메세지와 함께 특정 비즈니스 로직의 저장 기능이 아예 먹통이 되는 현상이 발생
<--- Last few GCs ---> [56467:0x110008000]   258162 ms: Mark-Compact 4043.9 (4134.5) -> 4034.7 (4139.3) MB, pooled: 0 MB, 495.21 / 0.00 ms  (average mu = 0.801, current mu = 0.040) task; scavenge might not succeed [56467:0x110008000]   259000 ms: Mark-Compact 4049.8 (4139.5) -> 4040.5 (4145.3) MB, pooled: 0 MB, 819.04 / 0.00 ms  (average mu = 0.585, current mu = 0.023) task; scavenge might not succeed <--- JS stacktrace ---> FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
Plain Text
복사

원인분석

여러 update/insert문을 한번에 만드는 경우 메모리 오버 플로우 현상이 발생함
this.create를 통해 query할 데이터를 쌓게 되는 경우 그 건 수가 많아지게 되면 병목현상이 발생한다. 해당 함수를 통해 query를 생성할 때 메모리를 굉장히 많이 사용하게 되는 이슈 때문인 것으로 보인다.

해결방안

1.
API 서버 스케일 업
2.
현재 메모리 사이즈에 맞게 벌크로 들어온 값을 메모리상 등록가능한 만큼만 나누어 요청을 보냄