Capítulo 4. Gerenciamento de Recurso


Cgroups CPU ceiling enforcement

O Completely Fair Scheduler (CFS) no kernel do Linux é um agendador de compartilhamento proporcional que divide o tempo da CPU de forma proporcional entre grupos de tarefas dependendo da prioridade/peso da tarefa ou partes atribuidas à grupos de tarefas. No CFS, um grupo de tarefas pode obter mais do que sua parte da CPU se existir ciclos suficientes da CPU disponível no sistema, devido ao trabalho de conservação do agendador.

No entanto, existem cenários de empresas listados abaixo, onde ao fornecer mais do que parte da CPU desejada para o grupo de tarefas não é aceitável:
Pay-per-use
Em sistemas de empresas que cuidam de clientes múltiplos, os provedores de serviços cloud precisam atribuir uma quantia fixa de tempo de CPU para o convidado virtual baseado no nível de serviço.
Garantia de nível de serviços
O cliente demanda uma porcentagem de recursos de CPU sem a interrupção de serviços para cada convidado virtual.
Nestes cenários, o agendador precisa parar o consumo de recurso da CPU de um grupo de tarefas se ele exceder um limite predefinido. Isto geralmente é alcançado ao controlar o fluxo do grupo de tarefas quando ele consome totalmente seu tempo alocado da CPU.
O cgroups CPU ceiling enforcement é considerado uma adição importante ao repertório de recurso do Red Hat Enterprise Linux para o caso de uso listado acima. A CPU ceiling enforcement é fornecida pelo Credit Scheduler no Xen, e também pelo agendador VMware ESX.
O Cgroups CPU controla melhoria de escalabilidade em sistemas SMP.

O Red Hat Enterprise Linux 6 permitiu cgroups imediatos e libvirt criou um cgroups por convidado. Em sistemas grandes SMP, o aumento do número de cgroups, piorou o desempenho. No entanto, no Red Hat Enterprise Linux 6.2, a escalabilidade do cgroups CPU foi aprimorada significantemente, tornando-o possível de criar e executar diversos cgroups de uma vez sem implicações de desempenho.

Além da melhoria da escalabilidade, um parâmetro ajustável /proc , dd sysctl_sched_shares_window, foi adicionado com o padrão definido para 10 ms.
Melhoria de desempenho do Controlador de E/S do Cgroups

O design do controlador de E/S do cgroups aprimorou para reduzir o uso de bloqueios dentro do controlador de E/S, resultando no desempenho aprimorado. Também, o controlador de E/S agora suporta as estatísticas por cgroup.

A melhoria de desempenho do controlador de memória do Cgroups

O Red Hat Enterprise Linux 6.2 apresenta a melhoria do cabeçalho do uso de memória no controlador de memória, reduzindo a alocação de cabeçalho para diretriz page_cgroup em 37%. Além disso, o ponteiro direto page_cgroup-to-page foi removido, melhorando o desempenho do controlador de memória.

Valor padrão para a variante CFQ group_isolation

O padrão para a variante CFQ's group_isolation mudou de 0 para 1 (/sys/block/<device>/queue/iosched/group_isoaltion). Após diversos testes e diversos relatórios de usuário, descobriu-se que o padrão 1 é mais útil. Quando definido para 0,todas as filas de E/S se tornam parte do cgroup root e não o cgroup atual que o aplicativo é parte. Consequentemente, isto leva à uma não diferenciação de serviço para aplicativos.

Nota

Para mais informações sobre o gerenciamento de recursos e grupos de controle, consulte o Red Hat Enterprise Linux 6.2 Resource Management Guide.
Red Hat logoGithubRedditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja oBlog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

© 2024 Red Hat, Inc.