-
[Nest] Nestjs를 실행하는 EC2 인스턴스 메모리가 상승했던 이유공부/오류 2024. 3. 14. 23:34
해당 경험은 Typescript를 사용하면서 제대로 알지 못해서 겪었던 이유였습니다.
Node를 사용해 본 경험은 있어도, Typescript를 사용해 본 경험은 이번이 처음이며, Nest라는 프레임워크를 제대로 알지 못해서 발생했던 문제라고 생각한다.
내가 겪었던 문제.
EC2 인스턴스에서 nestjs 프레임워크를 이용해서 코드를 실행하는데, EC2의 memory 사용률이 상승했다가 안정적으로 돌아와야 하는데 돌아오지 않았다.
허용 범위가 1.5G인데, 1.2G까지 상승하고 내려오지 않는 문제를 발견하였고. 해당 문제를 해결하려면 어디서부터 고쳐나가야할지 고민을 했다.
코드의 문제, 메모리 누수, 캐시... 다양한 원인이 있겠지만 모든 문제들이 아니였다.
문제점.
Package.json에 작성한 script를 실행하는데, dev서버에서 실행하는 스크립트에 nest start로 작성했던 부분이 문제였다.
Typescript로 작성된 코드들이 실행되기 위해서 javascript로 컴파일이 된 후 dist 폴더에 있는 main.js가 실행이 되는 건데, 나 같은 경우 컴파일된 dist를 만들지 않고 바로 실행해서 지정된 type들이 memory에 쌓이게 되면서 발생하는 문제였다.
해당 문제를 해결하려고 몇 시간을 허비했는지......
해결 방법
nest start 부분을 node dist/src/main.js로 실행하면 된다.
혹시 동일한 문제를 겪으실 분이 안 계시겠지만 계시다면 조금 더 천천히 돌아보면 알 수 있을 거 같다고 생각한다.
구글링을 해서 얻을 수 있었던 건 다른 많은 이유들이 있다는 것을 알았지만, 나는 기본적인 원인을 놓쳤던 부분이니....
검색하며 찾아보고 작성 한글입니다. 혹시라도 부정확한 정보를 전달드릴 수 있습니다. 틀린 부분이 있으면 댓글을 남겨주세요.
'공부 > 오류' 카테고리의 다른 글