devmoa

우리의 Thread는 왜 이렇게 부자가 되었을까?

NHN·2021년 7월 12일·00
OOMThreadForkJoinPoolSpring BootJava 11jstack

AI 요약

Beta

NHN Cloud 프레임워크개발팀에서 겪은 OutOfMemoryError(OOM) 이슈를 공유하는 글입니다. 빌링 서버에서 발생한 OOM의 원인을 분석한 결과, 병렬 처리를 위해 사용된 ForkJoinPool이 과도한 수의 스레드를 생성하여 발생했음을 확인했습니다.

Spring Boot 전환 및 Java 11 업그레이드 이후에도 메모리 사용량이 서서히 증가하는 현상이 관찰되었으며, sar 로그 분석과 프로세스 현황 확인을 통해 스레드 개수가 3만 개 이상으로 급증한 것을 발견했습니다. 문제 해결을 위해 스레드 덤프를 생성하여 애플리케이션의 스택 정보를 분석하는 과정을 설명하고 있습니다.

이 글이 궁금하신가요?

원문 블로그에서 전체 내용을 확인해 보세요

원문 읽으러 가기

AI 추천 연관 게시글

이 글과 관련된 다른 기술 블로그 글을 AI가 추천합니다