목록 보기
JEUS Bug에 의한 OutOfMemoryError 현상 - WAS Troubleshooting 사례(3)
백엔드

JEUS Bug에 의한 OutOfMemoryError 현상 - WAS Troubleshooting 사례(3)

SK C&C
SK C&C
2022년 9월 1일

두줄요약

JEUS 내부 모듈의 비정상적인 byte 배열 할당으로 OutOfMemoryError가 발생했습니다. 로그 교차 분석과 역컴파일을 통해 원인을 찾고 패치 적용으로 해결했습니다.

문제 상황

  • 6대 JEUS 인스턴스 클러스터에서 간헐적 OutOfMemoryError와 Hang-up 발생
  • 발생 시점과 패턴에 규칙성이 없어 로그 기반 원인 추적 필요
  • Heap 여유가 큰데도 OOME가 발생하는 모순적 상황

원인 분석

  • Thread dump의 MEMINFO에서 Heap 2GB 중 약 1.5GB가 Free 상태
  • GC log에서 메모리 누수보다 특정 트랜잭션의 대용량 할당 실패 가능성 확인
  • threadId 교차 추적 결과 JEUS 내부 모듈 LoginInformation.readLoginInformation()에서 약 1.9GB byte 배열 요청
  • 역컴파일 분석으로 scope 문자열 처리 과정의 비정상적 대용량 메모리 요청 확인

해결 방법

  • GC log와 thread dump를 교차 분석해 문제 트랜잭션과 내부 모듈 식별
  • Tmax사에 이슈 제기 후 패치 적용
  • 송신측 byte array만 전달하도록 내부 로직 개선 패치 반영

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...