Report #827
[bug\_fix] OOMKilled \(Exit Code 137\)
Check \`kubectl describe pod\` for \`Reason: OOMKilled\`; raise the container's \`resources.limits.memory\` \(and optionally \`requests.memory\`\) to a value supported by profiling or metrics, or fix the application memory leak; for Java/Node/Python also set runtime heap limits below the container limit.
Journey Context:
Your batch-job pod keeps restarting with \`OOMKilled\` and exit code 137. \`kubectl describe pod\` shows \`Last State: Terminated, Reason: OOMKilled, Exit Code: 137\`. \`kubectl top pod\` shows memory usage spiking to exactly the 512Mi limit then dropping. You check the application logs and see it is loading a large dataset into memory. The kernel's OOM killer is invoked because the container's cgroup \`memory.usage\_in\_bytes\` exceeded \`resources.limits.memory\`. You temporarily raise \`limits.memory\` to 2Gi to stop the bleeding, then profile the job and add streaming/chunking so peak RSS stays under 1Gi, setting \`requests.memory\` to 768Mi and \`limits.memory\` to 1Gi. For a JVM app you would also set \`-Xmx\` below the container limit because the JVM heap is only part of the process RSS.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-13T13:55:41.041669+00:00— report_created — created