JVM
-
ZGCJVM 2023. 2. 13. 02:20
개요 Low Latency: GC 일시 정지 시간이 10ms 미만이다. Scalable: heap 사이즈나 라이브셋의 사이즈가 커져도 일시 정지 시간이 늘어나지 않는다. 목표 GC 일시 정지 시간이 10ms를 초과하지 않아야 한다. 비교적 작은(수백 MB) 크기에서 매우 큰(수 TB) 사이즈의 heap을 다룰 수 있어야 한다. G1GC 보다 애플리케이션 처리율이 15% 이상 떨어지지 않을 것. colored pointers, load barriers를 사용하여 미래의 GC를 위한 기능/최적화 기반을 마련한다. 최초 지원 플랫폼은 Linux/x64. Region ZGC 는 ZPage 라고 하는 Region 을 나누어 Heap 메모리를 관리한다.(G1GC와 유사) ZPage 는 동적으로 크기가 지정이 되며 ..
-
G1GCJVM 2022. 10. 27. 01:09
G1GC(Garbage First Collector) Garbage First 라는 의미는 Garbage 로만 꽉찬 Region 부터 Collection을 시작한다는 의미로 발견되자 마자 즉각 Collection을 한다. G1GC는 스레드 정지가 예측 가능한 시간 안에 이루어지는 점진적으로 처리되는 병렬 Compaction GC다. Heap의 범위와 현실적인 목표 스레드 정지 시간을 설정하고 GC가 작업을 할 수 있도록 하는 것이 특징이다. G1GC는 Heap Area를 Young and Old 로 물리적으로 구분 짓던 Generation을 없애고 Heap Area 를 Region 단위로 나누고 이를 논리적으로 구분하여 사용하고 있다. (Region의 크기는 1MB ~ 32MB로 전체 Heap 사이즈 용..