Cgroup

Cgroups,限制每個使用者的記憶體

  • September 10, 2015

是否可以限制每個使用者而不是每個組的記憶體使用量?

這是我的配置…

/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/ 目錄中儲存的配置文件中配置的模板,從而允許靈活的 cgroup 分配和創建。

引用自:https://serverfault.com/questions/719994