k8s JVM memory Config

sojw·2024년 6월 16일
0

개요

  • 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%

0개의 댓글