22.10. 使用 systemctl 命令将限制设置为应用程序

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

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

要为特定的 systemd 服务配置 CPU 关联性掩码,systemd 提供了 CPUAffinity= 作为:

  • 单元文件选项。
  • /etc/systemd/system.conf 文件的 [Manager] 部分中的配置选项。

CPUAffinity= 单元文件选项设置 CPU 或 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>

其他资源

  • systemd.resource-control (5), systemd.exec (5), cgroups (7) 手册页