Guia de administração do sistema: gerenciamento de recursos Oracle Solaris Containers e Oracle Solaris Zones

Como funciona a alocação de recursos dinâmicos

Esta seção explica o processo e os fatores que poold usa para alocar recursos dinamicamente.

Sobre recursos disponíveis

Recursos disponíveis são considerados ser todos os recursos disponíveis para uso dentro do escopo do processo poold. O escopo de controle é no máximo uma única instância do Solaris.

Em um sistema com regiões ativadas, o escopo de uma instância de poold em execução se limita à região global.

Determinação de recursos disponíveis

Grupos de recursos abarcam todos os recursos do sistema disponíveis para consumo pelos aplicativos.

Para uma única instância do Solaris em execução, um recurso de um único tipo, como uma CPU, deve estar alocado a uma única partição. Pode haver uma ou mais partições para cada tipo de recursos. Cada partição contém um conjunto de recursos exclusivo.

Por exemplo, uma máquina com quatro CPUs e dois conjuntos de processadores pode ter a seguinte configuração:

PT 0: 0 1

pset 1: 2 3

onde 0, 1, 2 e 3 após os dois-pontos representam IDs de CPU. Observe que os dois conjuntos de processadores prestam contas às quatro CPUs.

A mesma máquina não pode ter a seguinte configuração:

PT 0: 0 1

pset 1: 1 2 3

Não pode ter esta configuração porque a CPU 1 aparece somente em um pset por vez.

Os recursos são podem ser acessados a partir de qualquer partição que não seja a partição à qual pertencem.

Para descobrir os recursos disponíveis, poold interroga a configuração de grupos ativa para localizar partições. Todos os recursos dentro de todas as partições são somados para determinar a quantidade total de recursos disponíveis para cada tipo de recurso que é controlado.

Esta quantidade de recursos é o número básico que poold usa em suas operações. No entanto, há restrições sobre esse número que limitam a flexibilidade de poold para fazer alocações. Para obter informações sobre restrições disponíveis, consulte Restrições de configuração.

Identificação de uma falta de recurso

O escopo de controle para poold é definido como conjunto de recursos disponíveis pelo qual poold tem responsabilidade primária para a partição e o gerenciamento eficazes. No entanto, outros mecanismos que têm permissão para manipular recursos dentro do escopo de controle ainda podem afetar uma configuração. Se uma partição tiver de ficar fora de controle enquanto poold está ativo, poold tenta restaurar o controle através de uma manipulação judiciosa de recursos disponíveis. Se poold não localizar recursos adicionais dentro de seu escopo, o daemon irá registrar informações sobre a falta de recursos.

Determinação de utilização de recurso

poold normalmente passa a maior parte do tempo observando o uso dos recursos dentro de seu escopo de controle. Esta monitoração se destina a verificar se os objetivos dependentes de carga de trabalho estão sendo alcançados.

Por exemplo, para conjuntos de processadores, todas as medidas são feitas em todos os processadores em um conjunto. A utilização de recursos mostra a proporção de tempo que o recurso está em uso durante o intervalo de amostragem. A utilização de recursos é exibida como uma porcentagem de 0 a 100.

Identificação de violações de controle

As diretivas descritas em Configuração de restrições e objetivos são usadas para detectar a falha próxima de um sistema para atender seus objetivos. Esses objetivos estão relacionados diretamente à carga de trabalho.

Uma partição que não esteja atendendo os objetivos configurados pelo usuário é uma violação de controle. Os dois tipos de violações de controle são síncronos e assíncronos.

Os seguintes eventos causam violações de objetivo assíncronas:

As contribuições de objetivos que não estão relacionadas à carga de trabalho permanecem constantes entre as avaliações da função do objetivo. Os objetivos que não estão relacionados à carga de trabalho são somente reavaliados quando uma reavaliação é acionada através de uma das violações assíncronas.

Determinação de uma ação corretiva apropriada

Quando o controlador de recursos determina que um consumidor de recurso não tem recursos suficientes, a resposta inicial é que o aumento de recursos irá melhorar o desempenho.

Configurações alternativas que atendem os objetivos especificados na configuração para o escopo do controle são examinadas e avaliadas.

Este processo refinado ao longo do tempo enquanto os resultados de movimentação de recursos são monitorizados e a resposta de cada partição de recurso é avaliada. O histórico de decisão é consultado para eliminar reconfigurações que não mostraram melhoras no atendimento da função do objetivo no passado. Outras informações, como nomes de processo e quantidades, são usadas para nova avaliação da relevância dos dados do histórico.

Se o daemon não puder tomar uma ação corretiva, a condição será registrada. Para obter mais informações, consulte Informações de registro do poold.