Como habilito múltiplos núcleos no meu ambiente virtual?

19

Instalei o Ubuntu em um ambiente virtual usando o Oracle VM VirtualBox Manager e ele funciona muito bem.

No entanto, eu gostaria de ativar vários núcleos - como visto na imagem abaixo, minha máquina Windows tem dois núcleos:

Agora,quandoexecutoolscpunoUbuntu,receboasinformaçõesaseguir,revelandoquesomenteumnúcleoestásendoutilizado:

Eu tentei alterar as configurações da caixa virtual para ativar vários processadores, mas isso não me permite fazer isso, conforme mostrado na imagem abaixo:

Como faço para ativar vários núcleos (processadores) no meu ambiente virtual?

    
por Hasse Andersen 25.10.2013 / 15:25

3 respostas

16

Para ativar mais de 1 CPU em sua VM, as seguintes configurações são necessárias:

  • Hardware de convidado virtual de 64 bits na guia Configurações gerais (para convidados de 64 bits)

  • ativarE/SAPICnaguiadeconfiguraçõesdaplaca-mãe

  • habilite a virtualização de hardware (VT-x / AMD-V) na guia Aceleração

Observeque,sevocêexecutarsuaVMemtodososnúcleosdisponíveis,poderáterummelhordesempenhodohostaoatribuirumlimitedeexecuçãoàCPU.

Sevocênãotivessehabilitadoorecurso CPU hot-plug do virtualbox O número de núcleos só pode ser feito em uma máquina que foi desligada .

Um aumento de desempenho no convidado só é esperado para o software que faz uso de vários núcleos. Só então dar a todos os núcleos uma capacidade de execução faz sentido.

    
por Takkat 25.10.2013 / 15:47
15

Se a sua VM estiver atualmente em execução (ou "Salvo"), você não poderá alterar esse valor. Desligue sua VM primeiro.

    
por 0x80 25.10.2013 / 16:12
1

Eu estava trabalhando em um programa multithreaded, executado em ordem sequencial na máquina virtual. Eu tive problema semelhante ao que você teve. Eu consertei por:

  1. Pare a máquina virtual ou saia.
  2. Iniciar o VMWare - > Selecione a máquina - > Clique em Sistema - > Clique em Processador - > Alterar processadores numéricos.
  3. Iniciar a máquina virtual.

Anterior std :: thread :: hardware_concurrency () do encadeamento padrão retornou 1, mas, após as alterações, retorna o número de CPUs nas configurações da Máquina Virtual.

Agora, consegui executar meus programas multithread na VM com êxito.

    
por Prashant Nidgunde 06.08.2016 / 19:57