什么是 IOMMU,它会提高我的 VM 性能吗?

Uri*_*era 32 performance virtualbox virtualization

我的主板的芯片组支持这个功能IOMMU,我读过(但不是真正理解)它通过让 VM 使用实际物理硬件而不是虚拟硬件来提高 VM 性能。

这真的会带来 VM 的性能提升吗?如果确实如此,我如何让 Virtualbox 从中受益?

ppe*_*aki 23

长话短说,IOMMU 能帮助您的唯一方法是您开始直接将硬件资源分配给 VM。仅仅拥有它并不能使事情变得更快。

准确了解什么主板/CPU 正在宣传此功能会有所帮助。IOMMU 是系统特定的 IO 映射机制,可用于大多数设备。

IOMMU 听起来像是Intel VT-d和 AMD IOV的通用名称。在这种情况下,我认为您不能多路复用设备,这很像在所有这些花哨的虚拟化指令存在之前的 PCI 直通:)。SR-IOV不同,外设本身必须携带支持。HW 知道它正在被虚拟化,并且可以将它自己的一个 HW切片委托给 VM。许多 VM 可以同时与 SR-IOV 设备通信,开销非常低。

唯一比 SR-IOV 更快的是 PCI 直通,尽管在这种情况下,只有一个 VM 可以使用该设备,甚至主机操作系统也无法使用它。PCI 直通对于运行密集数据库的虚拟机很有用,该数据库将从连接到光纤通道 SAN 中受益。

但是,接近硬件确实有局限性,例如,对于需要实时迁移的部署,它会使您的 VM 的可移植性降低。这适用于 SR-IOV 和 PCI 直通。

默认的虚拟化 Linux 部署通常使用VirtIO,它开始时非常快。

  • @UriHerrera 我建议您使用 KVM,它也支持 Intel 和 AMD 的虚拟化扩展。它更灵活并且具有更多功能,包括 VirtualBox 中的功能。 (2认同)