gcutil

반응형
JSTAT GC 메모리 관리

자바에서 메모리 관리의 효율성을 위해 제공하는 Tool

Young 영역

Eden 영역에는 신규 객체들이 보관되고, 100% 차게되면 사용하지 않는 객체는 제거되고, 사용되는 객체는 Survivor 0으로 승격(miner gc 수행), S0에서 사용하지 않는 객체 제거 및 사용되는 객체 Survivor 1영역으로 승격(miner gc 수행) 됨. 이 작업이 반복되면서 살아 남은 객체는 Old 영역으로 승격됨. (miner gc 수행 중에는 JVM STW 발생하지 않음)

Old 영역

Eden 영역에서 승격된 객체들이 보관되다가 Old 영역이 100% 되면 major gc 가 발생한다. JVM STW 가 되면서 Old 영역의 메모리를 정리하게 되는데, 이때 major gc 처리 시간을 줄이는 것이 중요함( 1초 미만을 권장하고, 시간에 따라 gc 튜닝이 필요할 수도 있음)

jstat gc memory check

  • jstat 옵션
    • gc: gc 힙의 통계 정보를 출력
    • gccapacity: 힙의 용량 정보를 출력
    • gcutil: gc 통계 정보를 출력
    • gcnew: new 영역의 정보 출력
    • gccause: gc 통계 정보와 gc 발생 원인 출력
  • jstat 예시
    • jstat [옵션] [PID] [반복 출력 시간]

  • S0: S0 영역 사용율
  • S1: S1 영역 사용율
  • E: Eden 영역 사용율
  • O: Old 영역 사용율
  • CCS: compressed class space 영역 사용율
  • YGC: young 영역 gc count
  • FGC: full gc count(major gc)
  • FGCT: full gc count time (소요 시간)
  • GCT: gc 전체 소요시간 (ygct + fgct)
반응형

+ Recent posts

반응형