Red Hat Training

A Red Hat training course is available for RHEL 8

27.2. 使用 systemd 配置 NUMA 策略

非统一内存访问(NUMA)是一种计算机内存子系统设计,其中内存访问时间取决于相对于处理器的物理内存位置。

靠近 CPU 的内存比不同 CPU 的本地内存(外部内存)或一组 CPU 之间共享的内存具有更低的延迟(本地内存)。

就 Linux 内核而言,NUMA 策略管理内核为进程分配物理内存页面的位置(例如,在哪些 NUMA 节点上)。

systemd 提供单元文件选项 NUMAPolicyNUMAMask,以控制服务的内存分配策略。

流程

通过 NUMAPolicy 单元文件选项设置 NUMA 内存策略:

  1. 在您选择的服务中检查 NUMAPolicy 单元文件选项的值:

    $ systemctl show --property <NUMA policy configuration option> <service name>
  2. 作为根目录,设置 NUMAPolicy 单元文件选项所需的策略类型:

    # systemctl set-property <service name> NUMAPolicy=<value>
  3. 重新启动服务以应用更改。

    # systemctl restart <service name>

要使用 [Manager] 配置选项设置全局 NUMAPolicy 设置:

  1. /etc/systemd/system.conf 文件中搜索文件的 [Manager] 部分中的 NUMAPolicy 选项。
  2. 编辑策略类型并保存文件。
  3. 重新载入 systemd 配置:

    # systemd daemon-reload
  4. 重启服务器。
重要

当您配置严格的 NUMA 策略时,例如 bind,请确保您也正确地设置了 CPUAffinity= 单元文件选项。

其它资源