73

Windows 7 64 ビットで VM を起動しようとしています (Ubuntu 32 ビット)。modify vmVagrantfile にコマンドを追加したにもかかわらず、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(s) は 2 と表示されるはずなので、VM には現在 1 つの CPU しかありません。実行時に 2 つの CPU を表示するにはどうすればよいlscpuですか?

4

3 に答える 3

36

Oracle Virtualbox を使用して vagrant を実行している場合、最も一般的な問題は Windows 7、8、または 10 の Hyper-V にあります。これにより、32 ビットと 1 つの CPU に制限されます。

「Windows の機能」を実行または検索し、「Windows の機能の有効化または無効化」を選択します。

チェックボックスで、Hyper-V がオフになっていることを確認します。Microsoft Hyper-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
于 2015-03-10T23:37:19.093 に答える
7

使用しているプロバイダーについて言及していないようです。Vagrant 1.7 の時点で、多くの VM プロバイダー (VirtualBox、HyperV など) が Vagrantfile で次の構成をサポートしています。

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

vagrant documentationで使用している特定のプロバイダーを確認してください。

于 2015-05-28T16:15:12.313 に答える