我在维基百科上阅读过不同类型的虚拟化,但我的问题是每种情况下CPU的行为如何?例如,在软件与硬件虚拟化期间CPU会发生什么?我的意思是在软件虚拟化中,如果我增加VM的数量cpu负载也会增加硬件虚拟化,如果我增加VM的数量cpu负载再次增加那么这两种情况有什么区别?
答案 0 :(得分:6)
目前尚不清楚您究竟在问什么,但硬件支持的虚拟化是CPU具有额外的硬件支持/指令(例如:VT-x)以促进虚拟化中常见的一些常见任务。与编写完成虚拟化硬件等效工作的小程序集/软件程序相比,这使得它更快。
因此,在硬件加速虚拟化中,该任务被委托给该h / W块以完成。在仅软件虚拟化中,运行一个小型软件例程来执行相同的工作。通常,专用硬件比软件程序快得多 - 这就是为什么它们首先被设计出来的原因。
(发布问题编辑)
硬件虚拟化是“硬件辅助”。传统的CPU具有硬件模块,可以非常有效地运行常见的软件工作负载(“我们将15%的时间相乘?好吧,让我们在那里放置硬件乘法器”)。经过数十年的芯片制作和代码分析,我们在编写的代码和可用的芯片之间非常合适。最近虚拟化已经起飞,在虚拟化中出现了一种新的工作负载模式,“传统”CPU没有看到/支持这种模式。芯片制造商确定了这种模式,并在硬件中添加了额外的指令以加速此类工作负载。所以现在你有硬件辅助虚拟化CPU可以快速完成一些这些任务。
尽管如此,实现虚拟化机器的时候,仍然需要处理操作系统一直在做的传统工作(通常的工作负载)加上从虚拟机管理程序等看到的新工作负载。所以即使使用硬件支持的虚拟化,也要添加更多虚拟机消耗更多CPU。