Como habilito vários núcleos no meu ambiente virtual?


20

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

No entanto, eu gostaria de habilitar vários núcleos - como visto na imagem abaixo, minha máquina Windows possui 2 núcleos:

insira a descrição da imagem aqui

Agora, quando executo o lscpuUbuntu, recebo as seguintes informações, revelando que apenas 1 núcleo está sendo utilizado:

insira a descrição da imagem aqui

Tentei alterar as configurações da caixa virtual para habilitar vários processadores, mas isso não me permite fazê-lo, como mostrado na imagem abaixo:

Imagem

Como habilito vários núcleos (processadores) no meu ambiente virtual?

Respostas:


17

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

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

    insira a descrição da imagem aqui

  • ative o I / O APIC na guia Configurações da placa-mãe

    insira a descrição da imagem aqui

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

    insira a descrição da imagem aqui

Observe que, se você executar sua VM em todos os núcleos disponíveis, poderá obter um melhor desempenho do host ao atribuir um limite de execução à CPU.

Se você não ativou o recurso de CPU hot-plug da caixa virtual, a alteração do número de núcleos só poderá ser feita em uma máquina que foi desligada .

É esperado um aumento de desempenho no convidado para software que faça uso de vários núcleos. Só assim, dar sentido a todos os núcleos com um limite de execução.


então isso não é possível em um Ubuntu de 32 bits?

11
@cipricus obrigado pelo aviso, é claro que é necessário apenas 64 bits para um convidado de 64 bits.
Takkat

@ Takkat Estou usando o Ubuntu de 32 bits como sistema operacional convidado. Como posso ativar vários cpus?
smwikipedia


1

Eu estava trabalhando em um programa multithread que era executado em ordem seqüencial na máquina virtual. Eu tive um problema semelhante ao seu. Corrigi-o por:

  1. Pare a máquina virtual ou saia.
  2. Inicie o VMWare -> selecione a máquina -> clique em Sistema -> clique em Processador -> Alterar processadores de números.
  3. Inicie a máquina virtual.

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

Agora, eu era capaz de executar meus programas multithread na VM com êxito.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.