¿Cómo habilito múltiples núcleos en mi entorno virtual?


21

Instalé Ubuntu en un entorno virtual usando Oracle VM VirtualBox Manager y funciona muy bien.

Sin embargo, me gustaría habilitar múltiples núcleos: como se ve en la imagen a continuación, mi máquina Windows tiene 2 núcleos:

ingrese la descripción de la imagen aquí

Ahora, cuando ejecuto lscpuUbuntu, obtengo la siguiente información que revela que solo se está utilizando 1 núcleo:

ingrese la descripción de la imagen aquí

Intenté cambiar la configuración de la caja virtual para habilitar múltiples procesadores, pero no me permitirá hacerlo como se muestra en la imagen a continuación:

Imagen

¿Cómo habilito múltiples núcleos (procesadores) en mi entorno virtual?

Respuestas:


18

Para habilitar más de 1 CPU en su VM, se necesitan además las siguientes configuraciones:

  • Hardware virtual invitado de 64 bits en la pestaña Configuración general (para invitados de 64 bits)

    ingrese la descripción de la imagen aquí

  • habilite I / O APIC en la pestaña de configuración de la placa base

    ingrese la descripción de la imagen aquí

  • habilitar la virtualización de hardware (VT-x / AMD-V) en la pestaña Aceleración

    ingrese la descripción de la imagen aquí

Tenga en cuenta que si ejecuta su VM en todos los núcleos disponibles, puede experimentar un mejor rendimiento del host al asignar un límite de ejecución a la CPU.

Si no ha habilitado la función de CPU de conexión en caliente de virtualbox, el cambio de la cantidad de núcleos solo se puede hacer en una máquina que se apagó .

Es de esperar un aumento de rendimiento en el invitado para el software que hace uso de varios núcleos. Solo entonces dar sentido a todos los núcleos con un límite de ejecución.


Entonces, ¿esto no es posible en un Ubuntu de 32 bits?

1
@cipricus gracias por el aviso, por supuesto, solo se requiere 64 bits para un invitado de 64 bits.
Takkat

@Takkat Estoy usando Ubuntu de 32 bits como SO invitado. ¿Cómo puedo habilitar múltiples cpus?
smwikipedia


1

Estaba trabajando en un programa multiproceso que se ejecutaba en orden secuencial en una máquina virtual. Tuve un problema similar al que tuviste. Lo arreglé por:

  1. Detenga la máquina virtual o salga.
  2. Inicie VMWare -> Seleccione la máquina -> Haga clic en Sistema -> Haga clic en Procesador -> Cambiar procesadores de números.
  3. Inicie la máquina virtual.

Anteriormente, std :: thread :: hardware_concurrency () del subproceso estándar devolvió 1, pero, después de los cambios, devuelve el número de CPU en la configuración de la máquina virtual.

Ahora, podía ejecutar mis programas multiproceso en VM con éxito.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.