Windows 7 64ビットでVM(Ubuntu 32ビット)を起動しようとしています。 Vagrantfileにmodify vm
コマンドを追加しても、VMを取得して2つのコアを表示するのに問題があります。 Vagrantバージョンは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には2が表示されるはずなので、VMには現在1つのCPUしかありません。 lscpu
を実行したときに2つのCPUを表示するにはどうすればよいですか?
追加 vb.customize ["modifyvm", :id, "--ioapic", "on"]
からconfig.vm.provider
Vagrantfile内のブロック。
VirtualBoxを見る ドキュメント それは言及しています:
「注:I/O APICを有効にすることは、64ビットのゲストオペレーティングシステム、特にWindows Vistaに必要です。仮想マシンで複数の仮想CPUを使用する場合にも必要です。」
Oracle Virtualboxを使用してvagrantを実行している場合、最も一般的な問題はWindows 7、8、または10のHyper-Vにあります。これにより、32ビットと1 CPUに制限されます。
「Windows機能」を実行または検索し、「Windows機能の有効化または無効化」を選択します。
チェックボックスで、Hyper-Vがオフになっていることを確認します。MicrosoftHyper-Vが占有しているVirtualboxでVT-xを有効にすることはできません。
次に、Vagrantfileブートを非常にユーザーフレンドリーにすることができます。
config.vm.provider "virtualbox" do |vb|
vb.memory = "2404"
vb.cpus = "2"
end
2つのコアを実行し、わずか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
使用しているプロバイダーについて言及していないようです。 Vagrant 1.7以降、多くのVMプロバイダー(VirtualBox、HyperVなど)は、Vagrantfileで次の構成をサポートします。
config.vm.provider "virtualbox" do |v|
v.memory = 1024
v.cpus = 2
end
vagrant documentation で使用している特定のプロバイダーを確認してください。