在 systemd 切片下运行命令适用于 root,但不适用于用户

在 systemd 切片下运行命令适用于 root,但不适用于用户

我正在尝试在某些资源限制下执行命令。

这正确地限制my-bin为只有 1 个 CPU 核心。我可以用 来验证htop

$ sudo systemd-run -p AllowedCPUs=0 -- ./my-bin

然而,这不起作用。htop显示所有核心处于活动状态。

$ systemd-run --user -p AllowedCPUs=0 -- ./my-bin

看来我的用户切片位于正确的控制器下。我Delegate=yes为我的用户切片设置。我跟着这个指导

$ cat /sys/fs/cgroup/user.slice/user-1000.slice/cgroup.controllers    
cpuset cpu io memory pids

这是我的版本信息。

$ systemctl --version
systemd 247 (247.2-1-arch)
+PAM +AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYP
T +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 
default-hierarchy=hybrid

我错过了一些配置吗?或者我误解了这是如何工作的?

相关内容