第 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 关联性掩码:
在您选择的服务中检查
CPUAffinity
单元文件选项的值:$ systemctl show --property <CPU affinity configuration option> <service name>
作为 root 用户,为用作关联性掩码的 CPU 范围设置
CPUAffinity
单元文件选项的所需值:# systemctl set-property <service name> CPUAffinity=<value>
重新启动服务以应用更改。
# systemctl restart <service name>
使用 manager configuration 选项为特定 systemd 服务设置 CPU 关联性掩码:
编辑
/etc/systemd/system.conf
文件:# vi /etc/systemd/system.conf
-
搜索
CPUAffinity=
选项并设置 CPU 号 - 保存编辑后的文件并重新启动服务器以应用更改。