프론트엔드 개발 · 심화
Node.js 기반의 Next.js 앱에서 메모리 누수(Memory Leak)가 의심될 때, 가장 먼저 모니터링해야 하는 V8 엔진의 메모리 영역은 무엇인가요?
힌트 · 가비지 컬렉터(GC)가 관리하는 동적 할당 메모리 영역인 힙(Heap) 메모리 영역의 지속적인 증가 여부를 모니터링해야 합니다.
힙(Heap)가비지 컬렉터(GC)객체메모리 누수
모범답안
Node.js 기반 Next.js 앱에서 메모리 누수가 의심된다면, V8 엔진의 힙(Heap) 메모리 영역을 가장 먼저 모니터링해야 합니다. 힙은 가비지 컬렉터(GC)가 관리하는 동적 할당 메모리 영역으로, JavaScript 객체, 문자열 등이 저장됩니다.
메모리 누수는 더 이상 사용하지 않는 객체가 힙에 계속 남아있어 메모리 사용량이 지속적으로 증가하는 현상입니다. 따라서 힙 메모리 사용량이 GC 이후에도 계속 증가한다면 메모리 누수를 의심해 볼 수 있습니다.
힙 메모리 스냅샷을 찍어 어떤 객체들이 메모리를 많이 차지하고 있는지 분석하거나, Node.js의 내장 모니터링 도구 또는 외부 프로파일링 도구를 사용하여 힙 메모리 사용 패턴을 분석하는 것이 좋습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 Next.js 면접 질문
- Next.js의 Data Cache가 무효화(revalidate)될 때, 즉시 백그라운드에서 새 데이터를 가져오나요, 아니면 다음 요청이 올 때까지 기다렸다가 무효화 처리(On-demand)를 하나요?
- Edge Runtime 환경에서 작동하는 Middleware가 Vercel의 KV(Redis)나 데이터베이스에 접근할 때 지연 시간을 줄이기 위해 설계된 아키텍처적 위치의 특징은 무엇인가요?
- 대규모 Next.js 프로젝트를 Turborepo 모노레포로 분리할 때, 공통으로 사용하는 UI 컴포넌트 패키지(예: `@repo/ui`)를 Next.js 앱에서 트랜스파일(Transpile) 하려면 `next.config.js`에 어떤 속성을 추가해야 하나요?