【发布时间】:2014-05-27 16:53:17
【问题描述】:
前段时间在我的操作系统课上,我记得老师说过类似的话
Type 1 hypervisor 直接在硬件上运行;类型 2 管理程序 在其他操作系统上运行,例如 Linux
这表明类型 2 管理程序下的虚拟机性能较低。
我正在做一些简单的基准测试,例如迭代 for 循环或将字符写入文本文件,使用 VirtualBox(这是一个 2 类管理程序),但发现对性能的影响很小。
再调查一下,在我的计算机上,VirtualBox 似乎可以使用 VT-x 进行硬件虚拟化,即使它在我的 Windows 操作系统下运行。
所以出现的问题是,如今类型 2 虚拟机管理程序真的会遭受性能损失,尤其是考虑到它们可以实现硬件虚拟化吗?
如果答案是否定的,那么为什么 1 类和 2 类管理程序之间的区别仍然存在?
【问题讨论】:
-
这和编程有什么关系?
-
stackoverflow.com/help/on-topic - 具体来说:“程序员常用的软件工具”
-
用户模式应用程序中的 For 循环和通常的 CPU 绑定计算不适合作为 VM 基准测试,因为它们在主机 CPU 上未经修改即可运行,无需管理程序的特别努力;您发现没有显着差异是正常的。您可能会发现更严重的瓶颈,例如做繁重的 IO。
-
Matteo,我制作了一个基准程序,该程序将使用 2 个线程对向量求和。该程序发现启用硬件虚拟化没有显着差异,但是当我禁用它时,VM 上的性能下降了 6 倍,这就是我发布这个问题的原因。
标签: virtual-machine virtualbox virtualization