Como posso criar e usar os cgroups do Linux como um usuário não root?
21
Como posso criar e usar o cgroups como um usuário não root?
Por exemplo, posso inteiramente como um usuário não root:
crie um cgroup com acesso a uma CPU
crie um novo processo nesse cgroup
?
Perguntei aqui pela primeira vez, mas não recebi uma resposta completa. Também perguntei no stackoverflow , mas a questão foi encerrada como off topic.
rm -rtentaria excluir os arquivos primeiro, o que falha. Use rmdirpara remover um cgroup.
Dennis B.
Você não pode rmdiraté o tasksarquivo estar vazio. o root precisaria olhar o arquivo de tarefas no subgrupo e repetir cada pid lá no arquivo de tarefas do cgroup raiz ( /dev/cpuset/tasksna minha caixa RHEL 6.7 [kernel 2.6.32-358], mas parece que /sys/fs/cgroup/cpuset/taskspode ser apropriado aqui).
Mike S
1
Se você estiver usando o Ubuntu, você (o usuário root) pode instalar o cgroup-lite e adicionar o que você precisa no arquivo /etc/cgconfig.conf, incluindo quais usuários podem alterar a configuração do cgroup. Ele roda na inicialização.
Se você (o usuário root) não puder adicionar seu próprio script para executar durante a inicialização.
Há uma série de artigos sobre o LWN nos cgroups, consulte a parte 1 ou consulte a pesquisa lá. O Systemd inclui um conjunto de auxiliares para gerenciar (processos em gaiola por) cgroups.
rm -r
não para mimrm -r
tentaria excluir os arquivos primeiro, o que falha. Usermdir
para remover um cgroup.rmdir
até otasks
arquivo estar vazio. o root precisaria olhar o arquivo de tarefas no subgrupo e repetir cada pid lá no arquivo de tarefas do cgroup raiz (/dev/cpuset/tasks
na minha caixa RHEL 6.7 [kernel 2.6.32-358], mas parece que/sys/fs/cgroup/cpuset/tasks
pode ser apropriado aqui).Se você estiver usando o Ubuntu, você (o usuário root) pode instalar o cgroup-lite e adicionar o que você precisa no arquivo /etc/cgconfig.conf, incluindo quais usuários podem alterar a configuração do cgroup. Ele roda na inicialização.
Se você (o usuário root) não puder adicionar seu próprio script para executar durante a inicialização.
fonte
Há uma série de artigos sobre o LWN nos cgroups, consulte a parte 1 ou consulte a pesquisa lá. O Systemd inclui um conjunto de auxiliares para gerenciar (processos em gaiola por) cgroups.
fonte