Por que meu limite na CPU não é validado via cgroups

2

/etc/cgconfig.conf

...

group memlimit {
    memory {
        memory.limit_in_bytes = 8589934592;
    }
}

group cpulimit {
    cpu {
        cpu.shares = 1024;
    }
}

/etc/cgrules.conf:

@gatewayer  memory  memlimit/
@gatewayer  cpu cpulimit/

E eu reiniciei os serviços por meio de comandos:

service cgconfig restart
service cgred restart

Depois de executar meu script python do usuário que pertence ao grupo gatewayer , pude ver o PID ao executar cat /cgroup/memory/memlimit/cgroup.procs e o limite foi aplicado no processo em execução. No entanto, o limite na cpu não entra em vigor e cat /cgroup/cpu/cpulimit/cgroup.procs não imprime o PID como esperado.

Eu tentei verificar o processo, e acabou por ser o mesmo resultado, que a memória é limitada por cgroups enquanto cpu não é:

$ cat /proc/18113/cgroup 
174:blkio:/
173:net_cls:/
172:freezer:/
171:devices:/
170:memory:/memlimit
169:cpuacct:/
168:cpu:/
167:cpuset:/

Alguém poderia me ajudar? Muito obrigado.

    
por KAs 29.05.2015 / 17:05

0 respostas