Red Hat Training

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

9.2. 自动 NUMA Balancing

自动 NUMA 平衡提高了在 NUMA 硬件系统上运行的应用程序的性能。它在 Red Hat Enterprise Linux 7 系统中默认启用。
当进程线程正在调度到与线程相同的 NUMA 节点上时,应用程序通常会尽力执行最佳操作。自动 NUMA 平衡移动任务(可以是线程或进程)更接近他们访问的内存。它还将应用程序数据移动到更接近引用它的任务中。这在自动 NUMA 平衡激活时由内核自动完成。
自动 NUMA 平衡使用多种算法和数据结构,它们只有在系统中有自动 NUMA 平衡活跃时才激活并分配:
  • 定期进程内存的 NUMA 取消映射
  • NUMA 提示错误
  • migrate-on-Fault(MoF)- 将内存移动到程序运行的位置
  • task_numa_placement - 移动运行程序更接近其内存

9.2.1. 配置自动 NUMA Balancing

在 Red Hat Enterprise Linux 7 中默认启用自动 NUMA 平衡,并在使用 NUMA 属性引导时自动激活。
满足以下任一条件时启用自动 NUMA 平衡:
  • # numactl --hardware 显示多个节点
  • # cat /proc/sys/kernel/numa_balancing shows 1
应用程序的手动 NUMA 调优将覆盖自动 NUMA 平衡,禁用定期不映射内存、NUMA 错误、迁移和自动 NUMA 放置。
在某些情况下,首选使用系统范围的手动 NUMA 调整。
要禁用自动 NUMA 平衡,请使用以下命令:
# echo 0 > /proc/sys/kernel/numa_balancing
要启用自动 NUMA 平衡,请使用以下命令:
# echo 1 > /proc/sys/kernel/numa_balancing