Skip to content

Commit 9fe8b9c

Browse files
authored
Merge pull request #40513 from pacoxu/patch-16
add memory qos
2 parents 4dcb78c + e475112 commit 9fe8b9c

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

content/en/docs/concepts/workloads/pods/pod-qos.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,22 @@ CPU limit or a CPU request.
8585
Containers in a Pod can request other resources (not CPU or memory) and still be classified as
8686
`BestEffort`.
8787

88+
## Memory QoS with cgroup v2
89+
90+
{{< feature-state for_k8s_version="v1.22" state="alpha" >}}
91+
92+
Memory QoS uses the memory controller of cgroup v2 to guarantee memory resources in Kubernetes.
93+
Memory requests and limits of containers in pod are used to set specific interfaces `memory.min`
94+
and `memory.high` provided by the memory controller. When `memory.min` is set to memory requests,
95+
memory resources are reserved and never reclaimed by the kernel; this is how Memory QoS ensures
96+
memory availability for Kubernetes pods. And if memory limits are set in the container,
97+
this means that the system needs to limit container memory usage; Memory QoS uses `memory.high`
98+
to throttle workload approaching its memory limit, ensuring that the system is not overwhelmed
99+
by instantaneous memory allocation.
100+
101+
Memory QoS relies on QoS class to determine which settings to apply; however, these are different
102+
mechanisms that both provide controls over quality of service.
103+
88104
## Some behavior is independent of QoS class {#class-independent-behavior}
89105

90106
Certain behavior is independent of the QoS class assigned by Kubernetes. For example:

0 commit comments

Comments
 (0)