일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- go air
- go 맥
- go디자인패턴
- golang gopher
- gin recovery
- go air 환경변수
- go channel
- gopath 환경변수
- go recover
- gin logger
- go 대기그룹
- go
- go 맥 air 환경변수
- gin middleware
- air 환경변수
- 신입개발자
- go 환경변수
- go 패닉
- git
- go middleware
- go 캐릭터
- go panic
- go 맥 air
- 개발자
- go 마스코트
- go clean architecture
- 골랑 고퍼
- clean architecture middleware
- 좀비고루틴
- 고루틴 채널
- Today
- Total
뽀미의 개발노트
Javascript heap out of memory 문제 해결..? (급한 불 끄기) 본문
node.js 깔고 git 깔고 user.name, user.email 설정하고 깃랩에서 깃클론 받아서
npm run serve 만 하면 그렇게나 javascript heap out of memory 오류가 나는것.... 페이지가 켜지지 않고 뭐가 안된다고.. 뭐 방화벽인가 그런거 확인하라고만 계속 떴다.
<참고블로그>
heap out of memory 에러 해결과 메모리 누수 검사
작성자: 추서연 작성자의 한마디: "가장 좋은 방법은 누수 없는 코드 짜기,,"
velog.io
해결책은 1) 더 큰 메모리 할당해주는거랑 2) 메모리 누수 검사라는데 일단 1번 더 큰 메모리 할당 해주는걸로 긴급조치만 마쳤다. 가장 좋은 방법은 메모리가 누수되지 않게 코드를 짜라는데 그거 뭔데.. 어떻게 하는건데..!ㅠㅠㅠ
$ node -e 'console.log(v8.getHeapStatistics().heap_size_limit/(1024*1024))'
이걸로 현재용량을 확인했는데 2000 대였다. 사수님 컴퓨터로는 4000대라는데 원인은 모르겠지만 어쨌든 내 컴퓨터에서 뭐 메모리가 부족한가보다. 그래서 용량 늘리는 방법을 겁나게 많이 검색하고 명령어 시키는대로 다 했는데 안됐다.
그러다가 어떤 한 명령어를 치니 됐다!! 근데 분명이 아까 했을땐 안 됐는데 말이지.. 어쨌든
$ export NODE_OPTIONS=--max_old_space_size=8192
이 명령어를 쳐서 해결됐다. 저거 비슷한 걸로 엄청 많은 버전이 있고 대부분 max-old-space-size 이렇게 하이픈으로 나와있었는데 언더바로 했더니 해결됐다. 근데 그냥 터미널에 저 명령어만 치면 재부팅하거나 서버를 재배포할 때마다 코드를 입력해야 하므로 .bashrc 파일에 저 코드를 그대로 추가해줘도 된다.
vi ./.bashrc
이걸 치고 들어가서 입력해줘도 된다는데.. 설정 바꿨다가 에러 날까 두려워서 아직 추가하지는 않았다. 그냥 위 export 코드를 터미널에 입력해서 잠깐 용량 늘리고 했더니 되길래 그냥 그대로 했다. 근데 재부팅했더니 또 똑같은 문제 발생함. 아무래도 bashrc에 저코드를 추가해서 기억하게 해줘야겠다..!
아니 근데 bashrc에 설정 추가해줬는데도 여전히 같은 오류가 뜬다ㅠㅠㅠ 그래서 그냥 다시 저 명령어 한번 치고 npm run serve했더니 그제서야 구동됨.. 아니 왜 저래 진짜?? 다른 팀원분들께도 똑같은 오류가 뜬다던디 먼가 모듈이 추가되면서 메모리를 많이 잡아먹어서 그런것 같다고 하셨따... ㅂㄷㅂㄷ
심지어 bashrc가 아주 거지같은게 방향키가 잘 안 먹는다!! 방향키 누르면 자꾸 ABC 이런 대문자 영어 알파벳이 눌리는데 왜그러는지를 모루겟넹ㅠㅠ 암튼 i,(입력), ESC,(입력취소), :q! (걍 나가기), :wq! (저장후 나가기) 뭐 이런 명령어들 사용해서 어찌저찌 환경변수 추가했는데 그래도 안됨. 참고한 블로그 안에 메모리 누수 막는 법 나와있었는데 뭔가 적용하기 어려워보임.. 어디서 메모리가 누수되는지는 볼 수 있는거 같은데 그 다음 단계가 없음.. 흥헹헹ㅠㅠ
'회사 업무 정리' 카테고리의 다른 글
Chromium과 V8엔진 (0) | 2023.10.20 |
---|---|
Typescript란? (0) | 2023.10.20 |
MobX란? (0) | 2023.10.20 |
DOM과 Virtual DOM (0) | 2023.10.20 |
리눅스 node.js 설치 (0) | 2023.10.18 |