KEP-2570: Add documentation for MemoryQoS with cgroups v2 for 1.36#54417
KEP-2570: Add documentation for MemoryQoS with cgroups v2 for 1.36#54417QiWang19 wants to merge 1 commit intokubernetes:dev-1.36from
Conversation
|
Welcome @QiWang19! |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
✅ Pull request preview available for checkingBuilt without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Hello @QiWang19 👋, v1.36 Docs Team here again! Please take a look at Documenting for a release - PR Ready for Review to get your PR ready for review before Tuesday 31st March 2026. Please let us know once your PR is fully Thank you! |
Signed-off-by: Qi Wang <qiwan@redhat.com>
1d1387d to
deeff10
Compare
|
@sohankunkerkar @ndixita could you review? |
| - Linux with cgroup v2 | ||
| - Kernel version 5.9 or higher for safe memory.high throttling. If the MemoryQoS feature gate is enabled on an older kernel, the kubelet logs a warning because of a known kernel livelock bug when using `memory.high` throttling on older kernels. | ||
|
|
||
| Memory QoS requires cgroup v2. When enabled on kernels older than 5.9, kubelet logs a warning |
There was a problem hiding this comment.
This looks duplicated. You might need to remove these lines
| - Burstable pods (soft reservation): `memory.low` is set to memory requests, the kernel preferentially retains this memory but may reclaim it under extreme pressure. | ||
| - BestEffort pods: no memory protection is set. | ||
|
|
||
| If memory limits are set in the container,this means that the system needs to limit container memory usage; Memory QoS uses `memory.high` to throttle workloads |
There was a problem hiding this comment.
| If memory limits are set in the container,this means that the system needs to limit container memory usage; Memory QoS uses `memory.high` to throttle workloads | |
| If memory limits are set in the container, this means that the system needs to limit container memory usage; Memory QoS uses `memory.high` to throttle workloads |
There was a problem hiding this comment.
Also, this piece applies regardless of memoryReservationPolicy. Should be moved before "### Configuring Memory QoS" or into its own subsection (e.g., "### Memory Throttling") since throttling is independent of reservation policy.
| controlled by `memoryThrottlingFactor`, and reservation is controlled by | ||
| `memoryReservationPolicy` (default `None`, optional `TieredReservation`). | ||
| Kubelet logs a warning on kernels older than 5.9 because `memory.high` throttling | ||
| can trigger a kernel livelock bug on older kernels. |
There was a problem hiding this comment.
| can trigger a kernel livelock bug on older kernels. | |
| can trigger a kernel livelock bug. |
| cgroup v2 memory controller. | ||
| cgroup v2 memory controller. This feature allows kubelet to set `memory.high` | ||
| for throttling and configure tiered memory protection, when `memoryReservationPolicy` kubelet | ||
| configuration set to `TieredReservation`, `memory.min` / `memory.low` for memory protection are enabled. |
There was a problem hiding this comment.
| configuration set to `TieredReservation`, `memory.min` / `memory.low` for memory protection are enabled. | |
| configuration is set to `TieredReservation`, `memory.min` / `memory.low` for memory protection are enabled. |
| due to a potential livelock situation a memory hungry can cause. | ||
| There is an alpha feature `MemoryQoS` which adds preemptive memory throttling | ||
| and optional memory reservation on Linux nodes using cgroup v2. Throttling is | ||
| controlled by `memoryThrottlingFactor`, and reservation is controlled by |
There was a problem hiding this comment.
I think you would need to add a blurb about memoryThrottlingFactor in pod-qos.md as well. Otherwise, Readers will wonder what it does
|
Hello @QiWang19 👋, v1.36 Docs Team here again! Just checking in as we approach Docs Freeze on Wednesday 8th April 2026 (AoE) / Thursday 9th April 2026, 12:00 UTC. This documentation appears to still be under review. To meet the Docs Freeze, this PR must have a technical review as well as Thank you! |
Description
This is a placeholder PR for the documentation of MemoryQoS v1.36, which is targeting Alpha v3 for the 1.36 release.
k/e KEP: kubernetes/enhancements#5879
k/e issue: kubernetes/enhancements#2570
Issue
Closes: #