26.9. 使用 systemd 配置 CPUSET 控制器
使用 systemd 资源管理 API,您可以对服务可以使用的一组 CPU 和 NUMA 节点配置限制。这个限制限制对进程使用的系统资源的访问。请求的配置写在 cpuset.cpus 和 cpuset.mems 文件中。
但是,可能无法使用请求的配置,因为父 cgroup 限制 cpus 或 mems。若要访问当前的配置,将 cpuset.cpus.effective 和 cpuset.mems.ff 文件导出到用户。
流程
设置
AllowedCPUs:systemctl set-property <service name>.service AllowedCPUs=<value>
# systemctl set-property <service name>.service AllowedCPUs=<value>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
systemctl set-property <service name>.service AllowedCPUs=0-5
# systemctl set-property <service name>.service AllowedCPUs=0-5Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置
AllowedMemoryNodes:systemctl set-property <service name>.service AllowedMemoryNodes=<value>
# systemctl set-property <service name>.service AllowedMemoryNodes=<value>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
systemctl set-property <service name>.service AllowedMemoryNodes=0
# systemctl set-property <service name>.service AllowedMemoryNodes=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow