在 Vagrantfile 中设置 "Paravirtualization Interface"

Setting "Paravirtualization Interface" in Vagrantfile

VirtualBox 5 公开了一个名为 "Paravirtualization Interface" 的设置,可以提高某些特定来宾操作系统的性能。

有没有办法在 Vagrantfile 中设置此选项?

总的来说:是否有关于如何通过 Vagrantfile 设置加速设置的文档?

找到了。 VBoxManage(VirtualBox CLI 工具)有一个名为 --paravirtprovider 的可选参数。您可以将其添加到 vb.customize 调用中:

Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.provider "virtualbox" do |vb|
    vb.customize [
      "modifyvm", :id,
      "--memory", "1024",
      "--paravirtprovider", "kvm", # for linux guest
      "--cpus", "2"
    ]
  end
end

其他 CPU 设置也可用这种方式,vb.customize 接受与 VBoxManage 相同的参数。请参阅 VboxManage --help 以获取所有选项的列表。

我的 Vagrantfile 没有 vb.customize 部分(可能接受的答案使用旧格式(?))。 基于 https://www.vagrantup.com/docs/virtualbox/configuration.html and https://www.virtualbox.org/manual/ch08.html(搜索 --nictype),以下对我有用。我不需要明确地设置 KVM,因为我在 Linux 并且它是默认值。

Vagrant.configure("2") do |config|

    config.vm.box = "ubuntu/bionic64"
    config.vm.hostname = "whatever"

    config.vm.provider "virtualbox" do |vb|
        vb.memory = "512"
        vb.cpus = "2"
        vb.default_nic_type = "virtio"
    end
end

通过将此 default_nic_type 设置为 virtio,不仅第一个 NAT-ed NIC 得到了这种类型,而且我还定义了第二个 NIC(此处未显示)并且它也被创建为 virtio(virtio- net 在 vi​​rtualbox 设置 GUI 中)。