26.3. 使用 systemd 分配 CPU 资源
在由 systemd
管理的系统上,每个系统服务在其 cgroup
中启动。通过启用对 CPU cgroup
控制器的支持,系统使用对 CPU 资源的服务感知分布,而不是按进程分布。在服务感知型发行版中,每个服务都收到与系统上运行的所有其他服务相比的相同 CPU 时间的 CPU 时间,无论进程数量如何使用相同的服务。
如果特定的服务需要更多 CPU 资源,您可以通过更改该服务的 CPU 时间分配策略来授予它们。
流程
在使用 systemd
时设置 CPU 时间分配策略选项:
在您选择的服务中检查 CPU 时间分配策略选项的分配值:
systemctl show --property <CPU time allocation policy option> <service name>
$ systemctl show --property <CPU time allocation policy option> <service name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 CPU 时间分配策略选项的所需值设置为 root:
systemctl set-property <service name> <CPU time allocation policy option>=<value>
# systemctl set-property <service name> <CPU time allocation policy option>=<value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
cgroup 属性在设置后立即应用。因此,该服务不需要重启。
验证
要验证您是否成功为服务修改了 CPU 时间分配策略选项的所需值,请输入:
systemctl show --property <CPU time allocation policy option> <service name>
$ systemctl show --property <CPU time allocation policy option> <service name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow