Comparison
CPU throttlingvsOOM kill
CPU throttling
average CPU use is twelve percent and the p99 latency is terrible, because the container is being stopped for milliseconds at a time.
The kernel pausing a container that has used its CPU quota within the current scheduling period. Because the quota is enforced per short window rather than on average, a workload that is bursty — which most request handlers are — gets throttled while looking idle in any per-minute graph. It is the most under-diagnosed source of tail latency on container platforms, and the metric for it is not CPU usage but throttled time.
Full entry →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 →