개요
- Pod total memory 대비 JVM memory 설정값 측정
Pod total memory
- Pod에 지정 된 limit memory 값
- ex) 2000M
추가 사용 memory
- 추가 사용 memory 종류
- Pod 구동 시, 기본적으로 사용하는 memory
- heap/metaspace 제외 JVM 사용 memory
- 대략 200M 가정
- 실제 추가로 사용 될 수 있는 memory에 대해서는 JVM 사용 모니터닝을 통해 확인 필요
JVM memory
- JVM total memory = heap + metaspace
- ex) 예제 가정값
- Pod total memory: 2000M
- metaspace: 256M
- Pod total memory 대비 JVM memory Max 사용량 비율
- (Pod total memory * heap 사용 비율) + metaspace = JVM total memory → Pod total memory 대비 사용 비율
- (2000 * 0.5) + 256 = 1256 -> 62.8%
- (2000 * 0.6) + 256 = 1456 -> 72.8%
- (2000 * 0.7) + 256 = 1656 -> 82.8%
- (2000 * 0.8) + 256 = 1856 -> 92.8%
JVM memory 사용 비율 계산
- Pod total memory(- 추가 사용 memory 제외)의 75% 까지 이용
- k8s OOM killer 대상에서 제외 되게끔
- ex)
- ((Pod total memory - 추가 사용 memory) 0.75) = metaspace + (Pod total memory heap 사용 비율) → heap 사용 비율 계산
- ((2000 - 200) 0.75) = 256 + (2000 x), x(heap 사용 비율) → 55%
- ((4000 - 200) 0.75) = 256 - (4000 x), x(heap 사용 비율) → 65%