Programing/Java

Minor gc/Major gc/Full gc

BUST 2017. 6. 27. 10:20

Minor GC, Major GC, Full GC

  • GC
    • Minor GC
    • Major GC
    • Full GC
  • JVM의 Heap 메모리 구조
    • Eden/Young Space
    • Survivor 1
    • Survivor 2
    • Tenured/Old Space

Minor GC

Minor GC는 새로운 객체에 대해서 작동이 된다.

  1. Minor GC는 JVM이 새로운 객체를 생성할때 메모리가 부족하다면 발생되는 GC
    • Eden 영역이 가득차게 되면 Minor GC가 발생된다.
  2. Minor GC가 발생되었을때 Tenured 영역의 객체 생성은 무시된다.
  3. 일반적으로 알려진 내용과 달리 Minor GC가 발생될때도 Stop-The-World 상태이다

Major GC와 Full GC의 차이

  • Major GC : Tenured 영역
    • 대부분의 경우에는 Minor GC가 발생되고 그 다음으로 발생된다.
  • Full GC : Heap 메모리 전체 영역
    • Tenured/Old Space, Young Space
  • Major GC/Full GC를 구별하는 것에 초점을 두는것이 아니라 GC 발생을 통해 Application이 GC로 통해 멈추는 쓰레드로 인해 문제점을 찾는 것을 초점을 두어야 함.

Reference