Não é possível definir memory.memsw.limit_in_bytes no cgroup no servidor Ubuntu usando cgm

0

Estou tentando limitar o uso de recursos para um cgroup sem ter acesso root.

Posso definir memory.limit_in_bytes usando cgm setvalue memory memory.limit_in_bytes 150G

Mas eu não posso definir memsw.limit_in_bytes da mesma maneira, independentemente de memsw.limit_in_bytes ser maior que memory.limit_in_bytes (Isso é necessário, porque a opção memsw define memória máxima + limite de troca)

Tudo que recebo é: Erro org.freedesktop.DBus.Error.InvalidArgs: pedido inválido

Alguma idéia?

    
por trevore 10.01.2016 / 14:21

1 resposta

0

Ao usar cgm , lembre-se de que cgm chown $controller $cgroup $uid $gid altera somente o proprietário do diretório /sys/fs/cgroup/$controller/$cgroup e seus arquivos cgroup.procs e tasks . Usuários desprivilegiados que não podem gravar nesses arquivos receberão uma chamada para a mensagem cgmanager_set_value_sync failed: invalid request conforme você descobriu.

Outra possibilidade é que o arquivo esteja faltando, por exemplo, devido à falta de suporte para troca no kernel. Se o seu kernel não estiver configurado com CONFIG_MEMCG_SWAP_ENABLED , você terá que passar a opção swapaccount=1 cmdline.

    
por 10.02.2016 / 00:57

Tags