Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
node -e 'console.log(v8.getHeapStatistics().heap_size_limit/(1024*1024))' // 힙 사이즈 확인
export NODE_OPTIONS=--max_old_space_size=800 // 힙 사이즈 늘리기
AWS 배포 중 터진 오류!
위처럼 힙 사이즈를 확인해보고 한 단계 올려주니 저 문제는 해결!
근데 그 다음엔 'SIGKILL'
이게 정확히 heap 문젠지 다른 메모리 문젠지 긴가민가 해서 일단 누수날 것 같은 부분을 다 잡아보기로 했다.
AdminCafeDetail.container에서 AdminCafeListUI를 참조하고 있다.
실제로 AdminCafeDetail.presenter에 가보니 컴포넌트 이름이 DetailUI가 아니라 ListUI였다.
근데 딱히 이거 문제는 아니였던 것 같다.
디버깅도 해보았다.
yarn add cross-env
// package.json
"scripts": {
"dev": "next dev",
"debug": "cross-env NODE_OPTIONS='--inspect' next dev",
"build": "next build",
"start": "next start",
"build:ssg": "next build && next export",
"lint": "next lint",
"generate": "graphql-codegen"
},
터미널 yarn debug 입력
inspect를 클릭해서 디버거를 키고, localhost:3000에 접속한다.
근데 왜 나 영어지?
하지만 올라봐야 1MB/s였다.
메모리 누수 문제가 아닌 것 같다. 그리고 배포할 때, t2 micro(메모리 1GB)에서 t2 nano(메모리 2GB)로 늘리면 가능하다고 했다! 여기서 메모리는 RAM을 말하는 것 같은데, 정확힌 모르겠다... 아무튼 heap에서 터진 것 같진 않고, 이 메모리를 늘려야 가능할 것 같아서 그렇게 하기로 했다. 일년에 20만원 정도다.
엇 방금 t4g.small 추천 받았는데 이건 일년에 13만원 정도! 이렇게 규모가 큰 프로젝트인줄 몰랐다. =ㅅ=
하여튼 덕분에 디버깅도 해보고 좋은 경험이긴 했다... 우리 모두 저녁도 안 먹고 했지만!!!! 보람은 있었어.
heap out of memory 에러 해결과 메모리 누수 검사
작성자: 추서연 작성자의 한마디: "가장 좋은 방법은 누수 없는 코드 짜기,,"
velog.io
https://ajh322.tistory.com/241
Nodejs - 메모리 JavaScript heap out of memory
1. 오류 2. 해결방법 1. 오류 노드를 하다 보면 아래와 같은 오류를 만날 수 있다. FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory [26828:0000020C..
ajh322.tistory.com
'프론트엔드✏️ > 팀 프로젝트✨' 카테고리의 다른 글
[roominus] 팀 프로젝트 4주차 - 주차별 회고(4) (0) | 2022.08.01 |
---|---|
프론트엔드에서 검색을 해보자~~~!!! (0) | 2022.07.29 |
프론트엔드 부트캠프 78일차, 팀 프로젝트(20) 글은 일인당 하나로 제한합니다. (0) | 2022.07.28 |
프론트엔드 부트캠프 77일차, 팀 프로젝트(19) 예약한 자에게만 댓글을 허용하노라 (0) | 2022.07.27 |
[roominus] 팀 프로젝트 3주차 - 주차별 회고(3) (0) | 2022.07.25 |