목록 보기
Javax Activation Bug에 의한 WAS Hang 현상 - WAS Troubleshooting 사례(2)
백엔드

Javax Activation Bug에 의한 WAS Hang 현상 - WAS Troubleshooting 사례(2)

SK C&C
SK C&C
2022년 8월 15일

두줄요약

WebLogic Hang-up 원인을 GC log, Heap dump, Thread dump로 추적해 `javax.activation` 구버전과 쓰레드 누적 문제를 확인했습니다. 최신 jar를 우선 로딩하도록 바꾼 뒤 일부 서버에서 메모리 누수와 장애가 개선되었습니다.

문제 상황

  • WebLogic 16대 클러스터가 1~2일마다 Hang-up에 빠지며 서비스 장애 반복
  • 재기동 외에 원인을 못 찾아 서비스 안정성 저하

원인 분석

  • GC log와 Heap dump에서 OutOfMemoryError와 점진적 Heap 감소 패턴 확인
  • Heap의 상당 부분을 WebLogic 내부 모듈과 다수의 java.lang.Thread 객체가 점유
  • Thread dump에서 DataHandler.getInputStream 관련 쓰레드가 7천여 개 누적
  • javax.activation 구버전 1.1.0 사용과 비정상 종료되지 않는 Zombi Thread 의심

해결 방법

  • 최신 javax.activation 1.4.5 jar를 PRE CLASSPATH로 지정해 우선 로딩
  • 일부 운영 서버에만 적용해 메모리 누수 및 Hang-up 개선 여부 비교 검증

성능/운영 포인트

  • GC log, Heap dump, Thread dump의 조합으로 JVM 장애 원인 추적
  • 구버전 라이브러리 상존 여부 점검과 운영 환경 단계적 적용의 중요성
  • 개선 후 메모리 누수와 재기동 없이 안정 동작 확인

댓글 0

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

댓글을 불러오는 중...