Parallel GC 튜닝
: 이 수집기의 특징은 다음의 항목들이다.
- Full STW(Stop the world)
- GC 처리율이 높고 계산 비용이 싸다.
- 부분 수집이 일어날 가능성은 없다.
- 중단 시간은 힙 크기에 비례하여 늘어난다.
위와 같은 특성들로 힙의 크기가 4GB 이하인 경우 Parallel GC가 아주 효과적이다.
GC 힙 크기 조정 Flag들은 다음과 같다. (과거에는 주로 이 플래그를 직접 적용하곤 했다고 한다. 요즘은 애플리케이션이 알아서 잘 결정하므로 명시적으로 크기를 설정하는 일은 잘 없다.)
플래그 | 설명 |
---|---|
-XX:NewRation=<n> |
Young Generation/전체 힙 의 비율 |
-XX:SurvivorRatio=<n> |
Survivor / Young의 비율 |
-XX:NewSize=<n> |
최소 Young Generation 크기 |
-XX:MaxNewSize=<n> |
최대 Young Generation 크기 |
-XX:MinHeapFreeRation |
팽창을 막기 위한 GC 이후 최소 힙 여유공간 비율 Default: 40% 힙 여유 공간이 정해진 수치(40%) 이하로 떨어지면 이 수치를 40%로 맞추기 위해 힙의 크기가 팽창된다. |
-XX:MaxHeapFreeRatio |
수축을 막기 위한 GC 이후 최대 힙 여유 공간 비율 Default: 70% 힙 여유 공간이 70% 이상으로 늘어나면 정해진 수치(70%)로 맞추기 위해 힙이 수축된다. |
'개발언어 > JAVA' 카테고리의 다른 글
GC Algorithm and Garbage Collectors (Java Performance Fundamental) (0) | 2021.04.29 |
---|---|
CMS 튜닝 (Java Optimization) (0) | 2021.03.30 |
GC 튜닝 (Java Optimization) (0) | 2021.03.22 |
GC Logging (Java Optimization) (0) | 2021.03.21 |
JVM miscellaneous (Java Optimization) (0) | 2021.03.21 |