프로덕션 워크로드 중 하나가 간헐적으로 OOMKilled됩니다. 근데 kubectl top pod로 보면 limit 대비 40~50%밖에 안 쓰는 걸로 나와서 원인 파악이 안 돼요.
$ kubectl describe pod my-app-xxxxx
...
Last State: Terminated
Reason: OOMKilled
Exit Code: 137
Containers:
app:
Limits: memory: 1Gi
Requests: memory: 512Mi
$ kubectl top pod my-app-xxxxx
NAME CPU(cores) MEMORY(bytes)
my-app-xxxxx 120m 480Mi
처음엔 limit을 잘못 계산한 줄 알았는데, 30분 추적해도 kubectl top 기준으론 한 번도 1Gi 근처 안 갑니다. 근데 왜 OOMKilled가 나나요? 클러스터는 cgroup v2 사용 중이고 K8s 1.30입니다.
댓글 0