Report #1136
[bug\_fix] Container terminated with reason OOMKilled and exit code 137
Exit code 137 means the process was killed by SIGKILL, and \`OOMKilled\` means the Linux OOM killer terminated it because the container exceeded its memory limit. The fix is to raise \`resources.limits.memory\` \(and \`requests.memory\` if the request is also too low\), or to reduce the application's memory footprint. Check actual usage with \`kubectl top pod\` or metrics-server before setting the new limit; do not just set requests without limits, because then the pod can be killed on node pressure. If the app has a known memory leak, fix the leak; raising the limit only postpones the next kill.
Journey Context:
A pod keeps restarting and \`kubectl describe pod\` shows \`Reason: OOMKilled\` and \`Exit Code: 137\`. It is tempting to blame the node, but the kernel message in \`dmesg\` or the node events confirms the cgroup memory limit was breached. The container may run fine locally with 512 MiB but in Kubernetes the limit was set to 256 MiB, or a batch job loads a large dataset into memory. Raising the limit to match measured usage stops the kills. Requests only affect scheduling; limits enforce the hard ceiling, so both must be sized realistically.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-13T17:58:14.088734+00:00— report_created — created