systemd-nspawn 容器的 CPU 使用限制不起作用

systemd-nspawn 容器的 CPU 使用限制不起作用

我在 Yocto 的嵌入式 Linux 环境中使用 systemd-nspawn(systemd 版本 237)。

/etc/systemd/system/systemd-nspawn\@.service.d/override.conf这是文件的内容

ExecStart=/usr/bin/systemd-nspawn --quiet --boot --link-journal=try-guest --machine=%i -n --property=CPUQuota=10%

我试图在容器内使用“sha1sum /dev/zero &”或“for i in 1 2 3 4; do while : ; do : ; did & done”加载CPU,但主机上的 top 命令显示它们总是总共占用 50% CPU 使用率(4 个 sh 进程和 1 个 sha1sum 进程,如果仅启动 sha1sum 进程,则每个进程单独使用 50%(如果不是 10%)

我无法理解这个 50% 的限制是否来自其他任何设置?以及为什么CPU配额不起作用

答案1

自从cgroup v2现在推荐,我建议使用 cgroup v2 尝试相同的命令。为此,请添加systemd.unified_cgroup_hierarchy=1进入、运行GRUB_CMDLINE_LINUX_DEFAULT并重新启动 Linux。我希望 cgroup v2 能够为您提供更好的 CPU 控制。/etc/default/grubupdate-grub

相关内容