Skip to main content
OOMKilled / exit 137

Kubernetes OOMKilled

The container exceeded available memory at its cgroup or node boundary and was killed.

Linux memory cgroup and kubelet status reportingResourceshigh
Exact message
Reason: OOMKilled

Also 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
Evidence before intervention

First diagnostic checks

1

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}'
2

Compare requests, limits and usage

Use historical metrics because the restarted container's current usage may be low.

3

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.

Engineering signal

Follow Kubernetes failures and fixes

One useful weekly email with new error references, tools, integration notes and production lessons. No daily noise.