
Change-Id: I85d9847e98ccc3382a51d10dadb9fb8535d0b704 Signed-off-by: Suzana Fernandes <Suzana.Fernandes@windriver.com>
2.3 KiB
Kubernetes Memory Manager Policies
Kubernetes memory manager policies manage memory allocation for pods with a focus on topology and performance optimization. You can define the policy using the kube-memory-mgr-policy host label via , with the supported values.
The kube-memory-mgr-policy host label supports the
values none
(default) and static
.
For example:
~(keystone)admin)$ system host-lock worker-1
~(keystone)admin)$ system host-label-assign --overwrite worker-1 kube-memory-mgr-policy=static
~(keystone)admin)$ system host-unlock worker-1
Setting to static, the policy ensures NUMA-aware memory allocation
for guaranteed pods, reserving memory to meet their requirements and
reduce latency. Memory for system processes can also be reserved using
the --reserved-memory
flag, enhancing node stability. For
the BestEffort
and Burstable
pods, no memory
is reserved, and the default topology hints are used.
This approach enables better performance for workloads that require predictable memory usage, but requires careful configuration to ensure compatibility with system resources.
For configuration options and detailed examples, consult the Kubernetes documentation at https://kubernetes.io/docs/tasks/administer-cluster/memory-manager/.
Limitations
The interaction between the
kube-memory-mgr-policy=static
policy and the topology
manager policy restricted
can cause pods not to be
scheduled or started, even when there is sufficient memory available.
This is due to the restrictive design of the NUMA-aware memory manager,
which prevents the same node from being used for both single and
multi-NUMA allocations. It is important that you understand the
implications of these memory management policies and configure your
systems accordingly to avoid unexpected failures.
For detailed configuration options and examples, refer to the Kubernetes documentation at https://kubernetes.io/docs/tasks/administer-cluster/memory-manager/.