Vmware中虚拟化Intel VT-x、CPU性能计数器、 虚拟化IOMMU到底是什么?

本文是https://alvincr.com/2021/01/vmware-win10/一文的一部分内容,相关内容请参考我的博客alvincr.com

2.2 虚拟化Intel VT-x

说明

VT英文全程 Virtualization Technology,即虚拟化技术。

x86平台上的VT技术,称之为VT-x;

Itanium平台上的VT技术,称之为VT-i。

效果:

让单核CPU实现多核的效果,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响。个人认为是将提交给CPU的任务分时进行处理,应该不会增加CPU的性能,但是却能降低虚拟化的消耗,变相的提升计算机的性能,尤其是磁盘和内存性能。

值得注意的是:虚拟化技术与多任务以及超线程技术是完全不同的。

注意事项

(1)CPU必须要支持才能够开启该选项,不过今年的CPU应该都支持,这个技术已经有十年之久了。

(2)通过开启VT可以使得当前使用32位系统的用户能在虚拟机中安装64位系统,如果是32位系统的用户,这个选项必开。

2.3 CPU性能计数器

Vmware官网介绍:https://docs.vmware.com/cn/VMware-vSphere/7.0/com.vmware.vsphere.vm_admin.doc/GUID-F920A3C7-3B42-4E78-8EA7-961E49AF479D.html

作用

使用CPU性能计数器官网宣称能够提高计算机性能,我们姑且相信它,主要面向的是优化或调试虚拟机中所运行软件的软件开发人员。

注意事项

  • 如果启用了虚拟 CPU 性能计数器,则只能将虚拟机迁移到具有兼容 CPU 性能计数器的主机。
  • 如果 ESXi 主机 BIOS 使用性能计数器或者如果启用了 Fault Tolerance,则虚拟机可能无法使用某些虚拟性能计数器。

也就是说下次迁移系统的时候还要开启CPU性能计数器才能正常使用该系统。

2.4 虚拟化IOMMU

如果你不知道什么是DMA操作(Direct Memory Access,也称为成组数据传送方式,有时也称为直接内存操作),那么本选项完全不用设置。

原文:https://zh.wikipedia.org/wiki/%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86%E5%8D%95%E5%85%83

定义

输入输出内存管理单元(英语:input–output memory management unit,缩写IOMMU)是一种内存管理单元(MMU),它将具有直接存储器访问能力(可以DMA)的I/O总线连接至主内存。如传统的MMU(将CPU可见的虚拟地址转换为物理地址)一样,IOMMU将设备可见的虚拟地址(在此上下文中也称设备地址或I/O地址)映射到物理地址。部分单元还提供内存保护功能,防止故障或恶意的设备。

作用

当操作系统在虚拟机内运行时(包括使用半虚拟化的系统,例如Xen),其通常不知道它要访问的内存的主机物理地址。这使其难以直接访问计算机硬件,因为如果客户机系统尝试用客户机的物理地址进行直接存储器访问(DMA)来吩咐硬件,其可能损坏内存数据,因为硬件不知道给定虚拟机客户机物理地址与主机物理地址之间的映射关系。而由管理程序或主机操作系统介入I/O操作来应用翻译则可以避免损坏,但会增加此I/O操作的延迟。

其它作用:

(1)分配大容量内存区域可以不需连续的物理内存。

(2)不支持寻址整个物理内存长度的设备仍可通过IOMMU访问整个内存。

(3)内存得到保护,尝试进行DMA攻击的恶意设备或尝试传输错误内存的故障设备无权读写非明确分配(映射)

你可能感兴趣的:(Win10,Vmware,vmware,虚拟化,cpu性能计数器,iommu)