Report #3888
[bug\_fix] OOMKilled: container exceeded its memory limit and was killed by the kernel OOM killer
Inspect \`kubectl describe pod\` for \`Reason: OOMKilled\` and memory usage metrics. Raise the container's \`resources.limits.memory\` \(and \`resources.requests.memory\`\) to a realistic value, or fix a memory leak in the application. Then rollout restart.
Journey Context:
A Java pod kept restarting. \`kubectl describe pod\` showed \`Last State: Terminated, Reason: OOMKilled, Exit Code: 137\`. The container had \`limits.memory: 512Mi\` but the JVM was trying to use 1 GiB because its heap flags were larger than the cgroup limit. I checked \`kubectl top pod\` and memory spiked right before each kill. I increased the Deployment's memory limit to \`1.5Gi\`, matched the request, and set the JVM heap to \`-Xmx1200m\`. The pod stayed stable. In another case the limit was correct but the app had a leak; profiling fixed the leak instead of just raising the limit.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T18:27:22.237048+00:00— report_created — created