cgroups v2 giới hạn bộ nhớ đo thật: --memory=128m đặt memory.max 128 MiB, vượt trần là OOM killer giết chứ không chạy chậm, container chết với exit 137 và OOMKilled=true, nhưng OOM chỉ giết tiến trình ngốn RAM nên PID 1 sống thì container sống
Khác CPU bị ghìm, bộ nhớ vượt trần thì OOM killer giết tiến trình. --memory=128m đặt memory.max 134217728 byte. Tắt swap rồi cho một tiến trình ngốn 10 MB mỗi vòng: memory.current leo 95, 105, 115, 125 MB rồi vượt 128 MB là bị SIGKILL, container exit 137 và OOMKilled=true. memory.events đếm max là số lần chạm trần và oom_kill là số tiến trình bị giết. Điểm quan trọng: OOM giết tiến trình ngốn RAM, không nhất thiết cả container, nên nếu PID 1 không phải kẻ ngốn thì container vẫn Running. memory.high ghìm mềm thì Docker không phơi ra.