使用systemd从CgroupV1迁移到CgroupV2统一层次结构

问题描述

我们在HeliOs上使用了CgroupV1和libcgroup软件包。因此,基本上,我们有两个配置文件,即/etc/cgconfig.conf和/etc/cgrules.conf。在cgconfig.conf中,我们定义了多个cgroup以及将分配给这些组的不同资源的数量。例如

Acq_cpu组{

cpu {
     cpu.shares="750";
}

}

Acq_mem组{

    memory {
            memory.limit_in_bytes="24G";
            memory.memsw.limit_in_bytes="48G";
    }

}

在cgrule.conf中,我们定义了在运行时将哪些进程分配给哪个组(基于进程名称)。例如

sdc:MammoServer.lnx cpu Acq_cpu

sdc:MammoServer.lnx内存Acq_mem

这些配置文件维护了持久配置。现在,我们正在迁移到CgroupV2(在SUSE OS上),并且由于不推荐使用libcgroup且systemd已被接管,因此我们不再具有这些配置文件。所以我有两个问题。

  1. 如何创建持久性cgroup,即在系统启动后自动创建cgroup?
  2. 我如何在cgrule.conf中定义这样的规则,这些规则是持久的,可用于在运行时将进程(基于名称而不是PID)分配给不同的cgroup?

Systemd在服务,范围和分片方面进行了讨论,这让我有些困惑。以持续方式在systemd中进行配置的方法是什么?我是否需要手动编写cgconfig.service和cgred.service之类的服务并使用Systemd启用它们?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

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