jargon

Comparison

OOM killvsResource limit

OOM kill

the container has no stack trace and no error log, just a restart count going up and exit code 137.

The kernel terminating a process that exceeded its memory cgroup limit, with no chance for the application to react. It is silent from inside the container by design, which is why the symptom is a gap in the logs rather than an exception. Distinguishing an application memory leak from a limit set below the workload's genuine working set is the whole of the diagnosis, and only the trend across restarts tells you which.

Full entry →

Resource limit

the container went one byte over its memory ceiling and the kernel killed it outright, mid-request.

The hard ceiling a container may consume, enforced by the kernel rather than by the scheduler. The two resources behave completely differently at the ceiling: CPU is throttled, so the workload gets slow, and memory is not compressible, so the process is killed. That asymmetry is why a CPU limit shows up as mysterious latency and a memory limit shows up as a restart loop.

Full entry →

Related comparisons