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

问题描述

我想使用Linux控制组(cgroup)限制多个进程的CPU和RAM使用。如果进程是Process 1Process 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

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

解决方法

systemd-run创建一个新的作用域并在其中运行一个程序。

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...