O convidado kvm pode obter mais CPUs do que possui?

2

Quando executo vm com uma única CPU virtual dentro do KVM, é possível que a vm consiga mais ciclos de CPU do que uma CPU inteira, se não houver outra vm em execução no host? Em outra palavra, a vm consegue mais CPUs do que tem? Eu não tenho limite de largura de banda para minha VM.

Como o escalonador de Linux (CFS) é de conservação de trabalho, se bem entendi, o escalonador sempre estará ocupado se houver algum trabalho a ser feito. Neste caso, alguns tópicos na minha VM.

Se, de fato, a VM pode realmente ter mais de uma CPU servindo para ela, como a sua utilização da CPU é relatada pela VM? > 100% ou simplesmente 100%. Como é o número de CPUs no / proc / cpuinfo da vm?

Eu acho que é uma pergunta interessante, ou talvez uma pergunta estúpida. Eu planejo fazer alguns experimentos se nenhuma resposta chegar.

Obrigado antecipadamente. Zhen

    
por Zhen 11.08.2012 / 15:34

1 resposta

1

Testado, o resultado mostra que o convidado NÃO pode obter mais CPU do que o necessário, mesmo que o escalonador do Linux tenha uma economia de trabalho.

Eu fiz alguns experimentos simples usando um micro benchmark que basicamente gira a CPU. O host é uma máquina dual core que executa o KVM com um único guest vm.

Eu executo vários aplicativos de benchmark no guest vm simultaneamente para ver se ele consegue mais CPU do que merece. O resultado é o seguinte:

  • Quando o vm é configurado com 1 CPU virtual, o sar reporta ~ 100% da utilização da CPU na VM e ~ 50% no host. O comando top no host mostra dois encadeamentos do KVM.

  • Quando o vm é configurado com 2 CPUs virtuais, o sar reporta ~ 100% da utilização da CPU na VM e ~ 100% no host. O comando top no host mostra três encadeamentos do KVM.

Então, minha teoria é que o KVM atribuirá um único thread para cada CPU virtual, e um thread extra é usado para alguma atividade de gerenciamento. Portanto, a VM com CPU virtual única não pode ser atendida em várias CPUs do host simultaneamente.

Acontece uma pergunta estúpida :)

    
por 12.08.2012 / 15:00