Kubernetes OOMKilled
The container exceeded available memory at its cgroup or node boundary and was killed.
Reason: OOMKilledAlso searched as: OOMKilled · exit code 137
What it means
The workload crossed a memory limit or experienced node-level memory pressure. Raising limits without measuring working-set behaviour can postpone rather than resolve a leak or concurrency problem.
Typical trigger conditions
- Memory limit below real peak usage
- Application memory leak
- Unbounded cache, batch or concurrency
- Node memory pressure
First diagnostic checks
Confirm last termination state
Verify OOMKilled and the exit timestamp rather than assuming every exit 137 is identical.
kubectl get pod <pod> -n <namespace> -o jsonpath='{.status.containerStatuses[*].lastState.terminated}'Compare requests, limits and usage
Use historical metrics because the restarted container's current usage may be low.
Check node pressure and events
Distinguish a container limit breach from node-wide eviction pressure.
Version and platform notes
Memory accounting and cgroup behaviour can differ between cgroup v1 and v2 nodes and by Kubernetes release.
Follow Kubernetes failures and fixes
One useful weekly email with new error references, tools, integration notes and production lessons. No daily noise.