1. GC 로그 소개

GC (Garbage Collection) 로그는 Java 애플리케이션에서 메모리 관리를 추적하기 위한 중요한 도구입니다. GC 로그는 JVM (Java Virtual Machine)에서 수행되는 GC 이벤트를 기록하며, 이를 활용하여 Heap Memory의 사용 패턴을 분석하고, Full GC 발생 시점을 확인하며, 시스템의 메모리 사용 패턴과 JVM 메모리 관련 파라미터 튜닝에 참고할 수 있습니다.

2. GC 로그 생성 방법

GC 로그는 JVM에 의해 생성됩니다. JVM 인자로 -XX:+PrintGCDetails 또는 -XX:+PrintGC와 같은 옵션을 사용하여 GC 로그를 활성화할 수 있습니다. 이 옵션을 WAS(웹로직, 제우스, Tomcat 등)의 가동 스크립트에 추가하여 로그를 생성합니다.

3. GC Log 분석 툴 소개

  • 분석 툴: PMAT (IBM Pattern Modeling and Analysis Tool for Java Garbage Collector)
  • 실행 방법: PC 설치 디렉토리(/Tools/GC Log Analyzer)에서 다음과 같이 실행합니다.
    Java –Xms1g –Xmx1g –jar ga412.jar
    
  • GC Log: $LOG_HOME/gc_instance명.log

4. PMAT를 활용한 로그 분석 방법

  • Analysis 메뉴에서 Graph View All을 클릭합니다. 시간 설정은 View > 옵션 > Start time에서 수행합니다.
  • Used/Total Tenured(After): Full GC 이후의 Tenured 영역 사용량
  • Used/Total New(After): Minor GC 이후의 New 영역 사용량 ※ Total Tenured(After) + Total New(After): 전체 Heap Size (JVM -Xmx 값)
  • 오른쪽의 “Select”를 클릭한 상태에서 그래프를 클릭하면 해당 시점의 GC Log 상세 내용(Text)을 확인할 수 있습니다.

이렇게 PMAT를 활용하여 GC 로그를 분석하면 메모리 사용 패턴을 파악하고, 효율적인 메모리 관리를 위한 튜닝에 도움을 줄 수 있습니다.

태그: , ,

카테고리:

업데이트:

댓글남기기