使用 systemd-run 限制多个进程的 CPU 和内存使用的语法?

dav*_*vid 4 syntax terminal resources cgroups systemd

我想使用 Linux 控制组 (cgroups) 来限制多个进程的 CPU 和 RAM 使用。如果进程是Process 1且Process 2带有子进程Process 2 Sub,这是否是正确的、最小的命令语法:

sudo systemd-run --scope -p MemoryHigh=200M Process\ 1
                         -p MemoryHigh=200M Process\ 2
                         -p MemoryHigh=200M Process\ 2\ Sub
                         -p MemoryMax=250M Process\ 1
                         -p MemoryMax=250M Process\ 2
                         -p MemoryMax=250M Process\ 2\ Sub
                         -p CPUQuota=10% Process\ 1
                         -p CPUQuota=10% Process\ 2
                         -p CPUQuota=10% Process\ 2\ Sub
Run Code Online (Sandbox Code Playgroud)

我不确定正确的进程 ID(完整路径?进程名称?)、选项的“链接”、区分大小写、转义空格、子进程(此处:)是否Process 2 Sub自动包含在施加的限制中或需要单独控制,以及是否需要在每次启动相关进程时运行此命令,或者设置是否永久。谢谢!

Giu*_*ano 5

systemd-run 创建一个新范围并在其中启动一个程序。

使用的语法是:systemd-run --scope -p MemoryMax=250M -p MemoryHigh=200M /path/to/program/to/use