Cgroups,限制每个用户的内存

Cgroups,限制每个用户的内存

是否可以限制每个用户而不是每个组的内存使用量?

这是我的配置...

/etc/cgconfig.conf

mount {
    cpu     = /cgroup/cpu_and_mem;
    cpuacct = /cgroup/cpu_and_mem;
    memory  = /cgroup/cpu_and_mem;
}
group small {
        cpu {
                cpu.shares="100";
        }
        cpuacct {
                cpuacct.usage="0";
        }
        memory {
                memory.limit_in_bytes="200M";
                memory.memsw.limit_in_bytes="200M";
        }
}

/etc/cgrules.conf

@guests      cpu,cpuacct,memory      small
user1        cpu,cpuacct,memory      small
user2        cpu,cpuacct,memory      small

现在我只看到一个选项,即创建组 small1 并将用户 1 链接到该组,然后将用户 2 链接到 small2 等等,如下所示:

/etc/cgconfig.conf

group small1 {
        cpu {
                cpu.shares="100";
...
group small2 {
        cpu {
                cpu.shares="100";
...

/etc/cgrules.conf

user1        cpu,cpuacct,memory      small1
user2        cpu,cpuacct,memory      small2

有人知道更好的方法吗?

答案1

是否可以限制每个用户而不是每个组的内存使用量?

有可能模板

/etc/cgrules.conf 中指定的规则可以链接到 /etc/cgconfig.conf 文件中配置的模板,也可以链接到存储在 /etc/cgconfig.d/ 目录中的配置文件中,从而允许灵活的 cgroup 分配和创建。

相关内容