개요
- Pod total memory 대비 JVM memory 설정값 측정
Pod total memory
- Pod에 지정 된 limit memory 값
- ex) 2000M
Pod OS 기본 사용 memory
- Pod 구동 시, 기본적으로 사용하는 memory
- 대략 200M 가정 ( 대체로 200M가 보다 더 작을 것이지만, 여유롭게 가정)
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(- OS 기본 메모리 제외)의 75% 까지 이용
- k8s OOM killer 대상에서 제외 되게끔
- ex)
- ((Pod total memory - Pod OS 기본 사용 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%
반응형
'emotional developer > detect-server' 카테고리의 다른 글
System Design — Tips (0) | 2024.10.10 |
---|---|
mongodb bulk remove (0) | 2024.04.03 |
transaction isolation level (0) | 2023.11.04 |