¿Cómo puedo crear una VM en Vagrant con VirtualBox con dos CPUs?

En Windows 7 de 64 bits tratando de iniciar una máquina virtual (Ubuntu de 32 bits). Estoy teniendo problemas para conseguir mi VM para mostrar dos núcleos a pesar de la adición de la modify vm comando en mi Vagrantfile. Mi Vagrant es la versión 1.2.2.

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "precise32"
  config.vm.box_url = "http://files.vagrantup.com/precise32.box"

  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", "2048"]
    vb.customize ["modifyvm", :id, "--cpus", "2"]   
  end  
end

Con este Vagrantfile I problema de la vagrant up comando. Entonces yo cuestión vagrant ssh seguido por lscpu que los rendimientos:

Architecture:          i686
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 58
Stepping:              9
CPU MHz:               2565.513
BogoMIPS:              5131.02
L1d cache:             32K
L1d cache:             32K
L2d cache:             6144K

Creo CPU(s) debe mostrar 2, así que mi VM sólo tiene una CPU de ahora. ¿Cómo puedo obtener 2 CPUs para mostrar hasta cuando ejecuto lscpu?

InformationsquelleAutor nikhil | 2013-06-14

3 Kommentare

  1. 79

    Agregar vb.customize ["modifyvm", :id, "--ioapic", "on"] a la config.vm.provider bloque dentro de su Vagrantfile.

    Mirando el VirtualBox documentación menciona:

    «Nota de Habilitación I/O APIC es necesario para operativos de 64 bits
    los sistemas, especialmente de Windows Vista; también es necesaria si se desea
    el uso de más de una CPU virtual en una máquina virtual.»

    • Tengo algunos problemas con eso. Cuando intento pone ioapic habilitar mi VM me muestre un mensaje de error…
    • He probado el de arriba, en CentOS 6.5 cuadro, pero lscpu aún mostraba la 1 de la CPU. Luego, he intentado lo siguiente, sin éxito: vb.customize ["modifyvm", :id, "--cpuexecutioncap", "50"]
    • empezar con eso de leer ese mensaje de error. Mensaje de Error no dice que «está roto». Es designado para ayudarle a entender, lo que está mal. Así que lo más importante en el mensaje de error es leerlo. También cuando se pide ayuda y no publicar su mensaje de error, nadie va a intentar ayudarte.
    • cuántas Cpu tiene su anfitrión (física) del sistema?
    • sí, buen artículo y si en Windows también recordar a desactivar Hyper-V! He añadido un comentario para el artículo
  2. 25

    Si está ejecutando vagrant utilizando Oracle Virtualbox, a continuación, el problema más común es con Hyper-V en Windows 7, 8 o 10. Que limitará a la de 32 bits y una cpu.

    De ejecución o de la búsqueda para «Características de Windows» y seleccione «Activar las Características De Windows o Desactivar».

    En las casillas de verificación asegúrese de Hyper-V es que no se puede habilitar VT-x para Virtualbox con Microsoft Hyper-V acaparando ella.

    Entonces, usted puede hacer su Vagrantfile de inicio de usuario muy amigable con:

      config.vm.provider "virtualbox" do |vb|
        vb.memory = "2404"
        vb.cpus = "2"
      end
    

    Asumiendo que usted tiene dos núcleos de ejecución y un poco más de 2 Gigas de memoria

    ps – no te olvides de añadir su reenvío de puerto. Para PHPStorm (xdebug, mysql, y web) yo uso:

      config.vm.network "forwarded_port", guest: 80, host: 8080
      config.vm.network "forwarded_port", guest: 3306, host: 3306
      config.vm.network "forwarded_port", guest: 9000, host: 9000
    
    • De cualquier manera, de forma dinámica, de consulta disponibles de la cpu y de la memoria de la máquina host y asignar sobre la base de una condición, es decir, si host_cpus = 16, a continuación, v. cpus = 8 ? Quería dedicar la mitad de mi cpu y ram en dos sistemas diferentes es decir, uno es de 8 cpus & 8gb de ram, y el 16 cpus, y 16gb de ram.
    • todo ruby, por lo que al menos, sólo se pueden colocar en un trozo de código para detectar el recuento de CPU (por ejemplo, stackoverflow.com/questions/891537/…) y la mitad de ella.
    • Gracias, pensé que no me iba a ser una más nativo forma de comprobar.
  3. 6

    Parece que usted no ha mencionado que el proveedor está utilizando. Como de Vagrant 1.7 muchos VM proveedores (como VirtualBox, HyperV) admite la siguiente configuración en el Vagrantfile:

    config.vm.provider "virtualbox" do |v|
      v.memory = 1024
      v.cpus = 2
    end
    

    Retirar el proveedor específico que se esté utilizando en el vagrant documentación.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea