Контейнер вышел за лимит памяти и не умер. Лучше бы умер
A container reached its memory limit but was not OOMKilled, so the service kept running. Latency increased while CPU stayed mostly idle, and ordinary metrics did not explain what was happening. Experiments with cgroup v2 show how memory.high makes processes wait for memory to be freed. In Kubernetes, this can lead to minutes of performance degradation before a restart.
Контейнер упёрся в лимит памяти, но OOMKilled так и не появился. Сервис продолжает работать, задержки растут, CPU почти простаивает, а привычные метрики не объясняют, что происходит. На примере экспериментов с cgroup v2 разберём, как memory.high заставляет процессы ждать освобождения памяти и почему в Kubernetes это может обернуться минутами деградации производительности перед рестартом. Разобрать эксперимент