Skip to content
Back to the playbook

Diagnosing and fixing an OOMKilled container

Kuberneteskubectlrevision 1

Diagnostic tree

  1. In progressContainer is repeatedly OOMKilledBefore touching the limit, confirm this is actually an OOM kill and work out whether usage is undersized-from-the-start or grows over time — raising the limit fixes the first and only delays the second.
View the whole map (6 more steps)
  • Confirm OOMKilled and read the configured limit
  • This isn't an OOM kill
  • Does memory usage grow across the container's lifetime before the kill, or is it high from the moment the container starts?
  • Root cause: memory grows over the container's lifetime (leak-shaped)
  • Fix: raise the memory request and limit to match the real working set
  • Can't tell yet which pattern this is

What to test

Container is repeatedly OOMKilled

Before touching the limit, confirm this is actually an OOM kill and work out whether usage is undersized-from-the-start or grows over time — raising the limit fixes the first and only delays the second.

What happened?