File tree Expand file tree Collapse file tree 1 file changed +16
-0
lines changed
content/en/docs/concepts/workloads/pods Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -85,6 +85,22 @@ CPU limit or a CPU request.
85
85
Containers in a Pod can request other resources (not CPU or memory) and still be classified as
86
86
` BestEffort ` .
87
87
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
+
88
104
## Some behavior is independent of QoS class {#class-independent-behavior}
89
105
90
106
Certain behavior is independent of the QoS class assigned by Kubernetes. For example:
You can’t perform that action at this time.
0 commit comments