RHEL Cgroup Memory Limits and OOM Killer Scoring Interoperability
0 reputation · 10 Aug 2024, 04:13 UTC
In Red Hat Enterprise Linux (RHEL 8/9), the interaction between cgroup-based memory limits and the global Out-of-Memory (OOM) killer creates complex resource management scenarios. While the kernel uses a scoring mechanism based on resident set size (RSS) to select victim processes, the behavior shifts when memory pressure is localized within a specific cgroup rather than the global system.
There is uncertainty regarding how oom_score_adj values are weighted when a process is subject to both a strict cgroup memory limit and high global system memory pressure. Specifically, it is unclear if the cgroup-level OOM killer prioritizes the relative score within the group or if the global system pressure overrides these local heuristics to target the largest overall memory consumer.
- How does the kernel resolve conflicts between
oom_score_adjand cgroup memory limits during a localized OOM event? - Does the global OOM killer ignore cgroup-specific scoring when the entire system is under pressure?