Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第 9 章 NUMA

过去,AMD64 和 Intel 64 系统中的所有内存都可被所有 CPU 平等地访问。无论 CPU 执行操作,已知一致性内存访问(UMA)的访问时间都是一样的。
最近 AMD64 和 Intel 64 处理器时,这个行为不再是这种情况。在非一致性内存访问(NUMA)中,系统内存被分成多个 NUMA 节点,对应于套接字或一组对系统内存本地子集相同的访问延迟的特定 CPU。
本章论述了虚拟环境中的内存分配和 NUMA 调优配置。

9.1. NUMA 内存分配策略

以下策略定义了如何从系统的节点分配内存:
Strict
严格策略意味着,如果无法在目标节点上分配内存,分配将失败。
指定 NUMA nodeset 列表,而不定义内存模式属性默认为 strict 模式。
Interleave
内存页面会在由节点设置指定的节点上分配,但以轮循方式分配。
Preferred
内存从单个首选内存节点分配。如果没有足够的内存可用,可以从其他节点分配内存。
要启用预期的策略,将其设置为域 XML 文件的 &lt ;memory mode > 元素的值:
<numatune>
        <memory mode='preferred' nodeset='0'>
</numatune>
重要
如果以 strict 模式过量使用内存,且客户机没有足够的 swap 空间,内核会终止一些客户机进程来检索额外的内存。红帽建议使用 preferred 分配并指定单个节点集(例如,nodeset='0')以防止这种情况。