Назад | Перейти на главную страницу

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 и связывания user1 с этой группой, затем user2 с 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

Кто-нибудь знает лучший способ сделать это?

Можно ли ограничить использование памяти для каждого пользователя, а не для группы?

Это возможно с шаблоны

Правила, указанные в /etc/cgrules.conf, могут быть связаны с шаблонами, настроенными либо в файле /etc/cgconfig.conf, либо в файлах конфигурации, хранящихся в каталоге /etc/cgconfig.d/, что позволяет гибко назначать и создавать контрольные группы.