A carga da CPU não é distribuída uniformemente pelos núcleos

0

Sou muito novo no Ubuntu e quero mudar do ambiente do Windows para o Linux Distro. Como a maioria dos softwares Linux para consumidores foi projetada para o Ubuntu, optei por essa distribuição. Tudo funciona bem, mas um dos recursos mais importantes, as máquinas virtuais, está passando por alguns problemas críticos.

Quando executo uma VM com carga alta, isso não é distribuído uniformemente em todos os núcleos. Tentei alterar as configurações de CPU / core nas configurações da VM e diferentes hypervisors:

  • KVM
  • VM-Ware
  • VirtualBox

Se eu executar um teste de estresse da CPU no Ubuntu, todos os núcleos serão executados corretamente e sincronizados. Se eu executar um teste de estresse em uma VM, alguns núcleos receberão uma carga de 100% e outros núcleos estarão em 10%. Os núcleos carregados e a quantidade de núcleos carregados mudam. Então, uma vez, core1 e 3 têm uma carga de 100%, a outra vez apenas core4 tem 100% de carga.

Em "atualização de software" > "Drivers adicionais", o dispositivo Intel Microcode mostra como "desconhecido". Parece-me que isso faz parte do problema.

Estou realmente empenhado em solucionar ou corrigir isso, portanto, qualquer entrada é bem-vinda.

EDITAR: Eu testei um pouco mais com o VMware:

  • Quando configuro dois núcleos, recebo um erro vcpu após alguns minutos
  • Quando eu configuro apenas um núcleo, apenas um núcleo no host virtual é usado Quando eu configuro quatro núcleos, todos os núcleos são usados. No entanto,
  • Quando inicio uma segunda VM com quatro núcleos configurados, obtenho real
    cargas centrais estranhas, irregulares e instáveis.

EDITAR: Então eu atualizei meu BIOS, reinstalei o Ubuntu, sem alterações. Atualizado meu microcódigo de ftp.us.debian.org/debian/pool/non-free/i/intel-microcode, sem alteração. Hipertrodução incapacitada, sem alteração. Quando eu inicio duas VM's, os núcleos lentamente saem de sincronia, e depois de um tempo, core1 está em 100% e core2 em 20%.

EDITAR: Então, eu tentei com o novo kernel Linux do Ubuntu 16.10, sem diferença de estoque. Foi mais fundo, desativando o driver intel_pstate e alterando o arquivo de configuração tlp, mas tudo sem sucesso. Não é nem mesmo a questão de fazer isso funcionar, só quero saber como. Droga, Linux.

    
por akkie3000 26.09.2016 / 11:40

2 respostas

0

No Virtualbox, você pode designar quantos núcleos de processador usar. Seu padrão é um. Configurá-lo para dois faz com que a VM funcione muito melhor. Geralmente, não é bom para o desempenho do host configurá-lo como superior.

Para resolver a mensagem do microcódigo, no Synaptic, clique no ícone RELOAD, no ícone SEARCH, insira intel-microcode , marque o único resultado para instalação e clique no ícone APLICAR. Saia do Synaptic. Reinicie o computador.

Para ver se está realmente funcionando, no terminal, digite dmesg|grep microcode .

Felicidades, Al

    
por heynnema 26.09.2016 / 12:03
0

Você precisa do intel-microcode versão 3.20160714.1. Microcódigos 0x7c e 0x84 são uma porcaria (talvez não em cada modelo específico do processador Skylake, mas não temos dados suficientes da Intel para saber). Ou seja você deseja a revisão do microcódigo 0x9d / 0x9e ou superior.

De qualquer forma, o microcódigo 0x9d ou mais recente pode ajudar com a falha do vmware se você tiver sorte. Se você não for, pelo menos, evitará mais problemas.

Mesmo com microcódigo atualizado, seu processador pode decidir alocar mais espaço térmico em um núcleo, ou seu BIOS pode estar dizendo para fazer isso.

Assegure-se de que seu BIOS / UEFI esteja configurado para "full / max performance" e que não tenha nada que tente maximizar o desempenho single-core ativado (tente também o "modo balanceado" apenas por precaução). Se isso não for suficiente, você pode instalar uma versão do pacote linux-tools-common e tentar usar x86_energy_perf_policy para colocar o processador no modo performance.

Infelizmente, não sei qual utilitário do Linux permite que você consulte o processador para saber se ele está se estrangulando devido a TDP ou limites de energia.

    
por anonymous 27.09.2016 / 01:15