Show Table of Contents
2.8. Movendo um Processo para um Grupo de Controle
Mova um processo em um cgroup executando o comando
cgclassify:
~]# cgclassify -g cpu,memory:group1 1701
A sintáxe para
cgclassify é: cgclassify -g subsystems:path_to_cgroup pidlist, onde:
- subsystems é uma lista separada por vírgula de subsistemas ou
*para iniciar o processo nas hierarquias associadas com todos os subsistemas disponíveis. Note que se os cgroups do mesmo nome existirem um múltiplas hierarquias, a opção-gmove os processos em cada um desses grupos. Certifique-se que o cgroup exista dentro de cada uma das hierarquias cujos subsistemas você especifica aqui. - path_to_cgroup é o caminho para o cgrupo dentro de sua hierarquia
- pidlist é uma lista separada por espaços do process identifier (PIDs)
Você também pode adicionar a opção
--sticky antes do pid para manter qualquer processo filho no mesmo cgroup. Se você não definir esta opção e o daemon cgred estiver rodando, os processos filhos serão alocados aos cgroups baseados nas configurações encontradas em /etc/cgrules.conf. O próprio processo, no entanto, ficará no grupo de controle no qual você iniciou.
Ao usar o
cgclassify, você poderá mover diversos processos simultaneamente. Por exemplo, este comando muda os processos com PIDs 1701 e 1138 para o cgroup group1/:
~]# cgclassify -g cpu,memory:group1 1701 1138
Observe que os PIDs a serem movidos são separados por espaços e que os grupos especificados devem estar em hierarquias diferentes.
Método alternativo
Para mover um processo para um cgroup diretamente, grave seu PID no arquivo
tasks do cgroup. Por exemplo, para mover um processo com o PID 1701 para um cgroup em /cgroup/lab1/group1/:
~]# echo 1701 > /cgroup/lab1/group1/tasks2.8.1. O Daemon cgred
O Cgred é um daemon que move tarefas para cgroups de acordo com os parâmetros definidos no arquivo
/etc/cgrules.conf. Entradas no arquivo /etc/cgrules.conf podem tomar uma ou duas formas:
- user hierarchies control_group
- user:command hierarchies control_group
Por exemplo:
maria devices /usergroup/staff
Esta entrada especifica que qualquer processo que pertence ao usuário chamado
maria acessará o subsistema de dispositivos de acordo com os parâmetros especificados no cgroup /usergroup/staff. Para associar comandos específicos aos cgroups específicos, adicione o parâmetro command como se segue:
maria:ftp devices /usergroup/staff/ftp
A entrada agora especifica que quando o usuário chamado
maria usa o comando ftp, o processo é automaticamente movido ao cgroup /usergroup/staff/ftp na hierarquia que contém o subsistema devices. Note, entretanto, que o daemon move o processo ao cgroup somente depois que a condição apropriada é cumprida. Portanto, o processo ftp poderá rodar por um curto período no grupo incorreto. Além disso, se o processo rapidamente gera filhos enquanto no grupo incorreto, estes filhos não poderão ser movidos.
Entradas no arquivos
/etc/cgrules.conf podem incluir a seguinte nota extra:
@— quando pré-fixado para user, indica um grupo ao invés de um usuário individual. Por exemplo,@adminssão usuários no grupoadmins.*— representa "todos". Por exemplo,*no camposubsystemrepresenta todos os subsistemas.%— representa um item igual ao item na linha acima. Por exemplo:@adminstaff devices /admingroup @labstaff % %

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.