Red Hat Training

A Red Hat training course is available for RHEL 8

第 27 章 使用 systemd 配置 CPU 关联性和 NUMA 策略

CPU 管理、内存管理和 I/O 带宽选项处理可用资源的分区。

27.1. 使用 systemd 配置 CPU 关联性

CPU 关联性设置可帮助您将特定进程的访问限制到某些 CPU。实际上,CPU 调度程序永远不会将进程调度到不在进程的关联性掩码中的 CPU 上运行。

默认 CPU 关联性掩码应用到 systemd 管理的所有服务。

要为特定 systemd 服务配置 CPU 关联性掩码,systemd 提供 CPUAffinity= 作为单元文件选项和 /etc/systemd/system.conf 文件中的管理器配置选项。

CPUAffinity= 单元文件选项 设置 CPU 或 CPU 范围列表,这些范围合并并用作关联性掩码。/etc/systemd/system.conf 文件中的 CPUAffinity 选项 为进程识别号 (PID)1 和从 PID1 分叉的所有进程定义关联性掩码。然后,您可以基于每个服务覆盖 CPUAffinity

注意

在为特定 systemd 服务配置 CPU 关联性掩码后,您必须重启系统以应用更改。

流程

使用 CPUAffinity 单元文件选项为特定 systemd 服务设置 CPU 关联性掩码:

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

    $ systemctl show --property <CPU affinity configuration option> <service name>
  2. 作为 root 用户,为用作关联性掩码的 CPU 范围设置 CPUAffinity 单元文件选项的所需值:

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

    # systemctl restart <service name>

使用 manager configuration 选项为特定 systemd 服务设置 CPU 关联性掩码:

  1. 编辑 /etc/systemd/system.conf 文件:

    # vi /etc/systemd/system.conf
  2. 搜索 CPUAffinity= 选项并设置 CPU 号
  3. 保存编辑后的文件并重新启动服务器以应用更改。