Как я могу создать виртуальную машину в бродяжнике с виртуальным боксом с двумя cpus?
В Windows 7 64 бит пытается запустить VM (Ubuntu 32 бит). У меня возникли проблемы с получением моей виртуальной машины, чтобы показать два ядра, несмотря на добавление команды modify vm
в мой Vagrantfile. Моя бродячая версия - 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
С помощью этого Vagrantfile я выдаю команду vagrant up
. Затем я выдаю vagrant ssh
, а затем lscpu
, который дает:
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
Я думаю, что CPU (s) должен показать 2, поэтому у моей виртуальной машины только один процессор прямо сейчас. Как я могу получить 2 процессора, которые будут отображаться при запуске lscpu
?
Ответы
Ответ 1
Добавьте vb.customize ["modifyvm", :id, "--ioapic", "on"]
в блок config.vm.provider
внутри вашего Vagrantfile.
Глядя на документацию VirtualBox она упоминает:
"Примечание. Включение I/O APIC требуется для работы с 64-разрядными гостевыми систем, особенно Windows Vista; это также необходимо, если вы хотите используйте более одного виртуального процессора на виртуальной машине".
Ответ 2
Если вы используете брандмауэр, используя Oracle Virtualbox, то наиболее распространенной проблемой является Hyper-V в Windows 7, 8 или 10. Это ограничит вас 32-битным и одним процессором.
Запустите или выполните поиск "Возможности Windows" и выберите "Включить или отключить функции Windows".
В флажках убедитесь, что Hyper-V выключен - вы не можете включить VT-x для Virtualbox с Microsoft Hyper-V, поддерживающим его.
Затем вы можете сделать свою загрузку Vagrantfile очень удобной для пользователей:
config.vm.provider "virtualbox" do |vb|
vb.memory = "2404"
vb.cpus = "2"
end
Предполагая, что вы хотите запустить два ядра и чуть более 2 Гб памяти
ps - не забудьте добавить переадресацию вашего порта. Для PHPStorm (xdebug, mysql и web) я использую:
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
Ответ 3
Кажется, вы не указали, какой провайдер вы используете. Начиная с Vagrant 1.7, многие поставщики VM (такие как VirtualBox, HyperV) поддерживают следующую конфигурацию в вашем Vagrantfile:
config.vm.provider "virtualbox" do |v|
v.memory = 1024
v.cpus = 2
end
Обратитесь к конкретному провайдеру, который вы используете в бродячей документации.