Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como Gerenciar Recursos no Linux com cgroups

Os cgroups, ou grupos de controle, são uma funcionalidade poderosa do kernel do Linux que permite limitar, contabilizar e isolar o uso de recursos (como CPU, memória, disco e rede) de coleções de processos. Eles são essenciais para gerenciar recursos em ambientes de contêineres, como Docker e Kubernetes, mas também podem ser usados em sistemas Linux para otimizar o uso de recursos.

O que são cgroups?

Cgroups permitem que você:

  • Limite: Restringir a quantidade de recursos que um grupo de processos pode usar.
  • Priorize: Atribuir mais recursos a processos críticos.
  • Isolar: Separar completamente os recursos entre diferentes grupos de processos.
  • Monitorar: Obter estatísticas detalhadas sobre o uso de recursos.

Exemplo Prático: Criando e Usando cgroups

Passo 1: Verifique se o cgroups está habilitado

Primeiro, verifique se o cgroups está habilitado no seu sistema:

mount | grep cgroup

Se o cgroups estiver habilitado, você verá várias entradas relacionadas a diferentes subsistemas (como cpu, memory, etc.).

Passo 2: Criar um Novo cgroup

Vamos criar um novo cgroup para limitar o uso de CPU de um processo.

  1. Crie um diretório para o cgroup:
sudo mkdir /sys/fs/cgroup/cpu/my_cgroup
  1. Defina o limite de CPU:

Por exemplo, para limitar o uso de CPU a 20%, edite o arquivo cpu.cfs_quota_us:

echo 20000 | sudo tee /sys/fs/cgroup/cpu/my_cgroup/cpu.cfs_quota_us

E defina o período para 100000 microsegundos (100ms):

echo 100000 | sudo tee /sys/fs/cgroup/cpu/my_cgroup/cpu.cfs_period_us

Passo 3: Adicionar um Processo ao cgroup

Para adicionar um processo ao cgroup, você precisa do PID do processo. Suponha que o PID seja 1234:

echo 1234 | sudo tee /sys/fs/cgroup/cpu/my_cgroup/cgroup.procs

Agora, o processo com PID 1234 está limitado a usar apenas 20% da CPU.

Passo 4: Monitorar o Uso de Recursos

Você pode monitorar o uso de CPU do cgroup usando:

cat /sys/fs/cgroup/cpu/my_cgroup/cpu.stat

Considerações Finais

Os cgroups são uma ferramenta essencial para gerenciar recursos em sistemas Linux, especialmente em ambientes de virtualização e contêineres. Eles oferecem um controle granular sobre como os recursos são alocados e utilizados, permitindo otimizações e isolamento eficazes.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.