Red Hat Training

A Red Hat training course is available for RHEL 8

9.5. Usando grupos de controle versão 1 com systemd

As seções seguintes fornecem uma visão geral das tarefas relacionadas à criação, modificação e remoção dos grupos de controle (cgroups). As utilidades fornecidas pelo sistema systemd e pelo gerente de serviços são a forma preferida da gerência cgroups e serão suportadas no futuro.

9.5.1. Criação de grupos de controle versão 1 com systemd

Você pode usar o sistema systemd e o gerente de serviços para criar grupos de controle transientes e persistentes (cgroups) para estabelecer limites, priorizar ou controlar o acesso aos recursos de hardware para grupos de processos.

9.5.1.1. Criação de grupos de controle transientes

A cgroups estabelece limites para os recursos consumidos por uma unidade (serviço ou escopo) durante seu tempo de execução.

Procedimento

  • Para criar um grupo de controle transitório, use o comando systemd-run no seguinte formato:

    # systemd-run --unit=<name> --slice=<name>.slice <command>

    Este comando cria e inicia um serviço transitório ou uma unidade de escopo e executa um comando personalizado em tal unidade.

    • A opção --unit=<name> dá um nome à unidade. Se --unit não for especificado, o nome é gerado automaticamente.
    • O --slice=<name>.slice faz de sua unidade de serviço ou escopo um membro de uma fatia especificada. Substitua <name>.slice com o nome de uma fatia existente (como mostrado na saída de systemctl -t slice), ou criar uma nova fatia passando um nome único. Por padrão, os serviços e escopos são criados como membros do system.slice.
    • Substitua <command> com o comando que você deseja executar no serviço ou na unidade de escopo.

      A seguinte mensagem é exibida para confirmar que você criou e iniciou o serviço ou o escopo com sucesso:

      # Funcionando como unidade <name>.service
  • Opcionalmente, manter a unidade funcionando após a conclusão de seus processos para coletar informações sobre o tempo de execução:

    # systemd-run --unit=<name> --slice=<name>.slice --remain-after-exit <command>

    O comando cria e inicia uma unidade de serviço transitória e executa um comando personalizado em tal unidade. A opção --remain-after-exit garante que o serviço continue funcionando após a conclusão de seus processos.

Recursos adicionais

9.5.1.2. Criação de grupos de controle persistentes

Para atribuir um grupo de controle persistente a um serviço, é necessário editar seu arquivo de configuração de unidade. A configuração é preservada após o reinício do sistema, para que possa ser usada para gerenciar serviços que são iniciados automaticamente.

Procedimento

  • Para criar um grupo de controle persistente, execute:

    # systemctl enable <name>.service

    O comando acima cria automaticamente um arquivo de configuração de unidade no diretório /usr/lib/systemd/system/ e por padrão, ele atribui <name>.service para a unidade system.slice.

Recursos adicionais