Comportamento de Utilização da CPU do AIX

1

Estamos diante de uma situação estranha (para nós) em relação ao gerenciamento da utilização da CPU. Temos um lpar com 2 até 4 núcleos online. Enquanto a carga de trabalho do aplicativo atinge o máximo, o uso da CPU é de 100% (70% usuário + 30% do kernel) e alocação física de 2,5 núcleos. Eu esperaria ver uma alocação física maior com menor uso. Isso é racional? Deveríamos ter que definir algum limite?

Atenciosamente,

    
por SWE 19.11.2012 / 10:53

1 resposta

0

O que você descreve é um comportamento normal. Para que o LPAR do AIX individual obtenha mais algum processador físico (acima do direito mínimo), ele precisa executar o código real. Pareceria estranho se você tivesse visto um aumento de carga (muito maior do que 8 no seu caso).

Existem maneiras de alocar persistentemente processadores para LPAR, mas estaticamente, não dinamicamente:

  • use processadores dedicados ou
  • aumenta seu mínimo (você agora usa compartilhado com um mínimo de 2, você pode aumentar para 2,5, por exemplo).

Não há configuração para garantir que, no pico, seu uso nunca atinja 100% e por um bom motivo. Sua impressão de que existe uma sobrecarga para atribuir 2.5, e a sobrecarga seria aliviada se a LPAR obtivesse 2.8 (e reteria por um tempo) é apenas isso - uma impressão.

Na verdade, a LPAR obtém o processador (acima de 2.0 que sempre obtém) em cada período de tempo quântico e a sobrecarga é constante; a sobrecarga é a mesma a crescer para 2.5 no primeiro quantum, para 3.1 no segundo quantum, de volta para 2.0 no terceiro quantum. Como estamos no segundo quantum, o LPAR precisa de mais, mas o LPAR não precisa solicitar explicitamente nada; se a LPAR ainda estiver executando o código, ela será implicitamente compreendida (pelo hipervisor da máquina) que precisa continuar ininterruptamente (sem comutar a LPAR do processador). O hipervisor observa os processadores e diz "hmmm, este LPAR ainda está executando o código, vamos esperar e ver, eu darei o máximo que puder, e vou jogá-lo fora do processador apenas quando o tempo acabar". Chegou ao 3.1 porque o hypervisor o forçou, ou executou tudo e todo processo entrou em sleep (). Se a máquina tiver bastante energia livre e a LPAR tentar executar o código que precisa de 4.0, ela poderá ser executada 4.0 instantaneamente (sem interrupção em 2.0 ou em qualquer lugar) até atingir 4.0, e somente então ocorrerá a interrupção.

Neste exemplo, reter 3.1 para muitos quanta significa que você está desperdiçando seu precioso poder de máquina; Se, como resultado, você pode ver 90% de uso, o que indica que agora você está desperdiçando 10% do seu dinheiro. Nada mais.

O procedimento não é como se o LPAR estivesse usando o 2.0, pedindo mais, usando o 0.1, depois pedindo mais, usando outro 0.1, etc. Não funciona dessa maneira. Recebe extra 0.1 sem solicitação, simplesmente porque ainda ocupa os processadores com carga de trabalho; não há sobrecarga adicional.

O uso de 100% é muito normal.

PS. O que há com essa palavra "core"? O que processa o código da máquina é chamado de "processador" e o mundo AIX usa corretamente essa terminologia. A coisa física que você conecta ao soquete é um "módulo".

    
por 19.11.2012 / 13:16