因此,据我了解,VMWare 可以让各种VM 共享、保留和限制它们获得多少 CPU。我的问题是,这实际上如何在主机服务器 CPU 上工作?
例如,有一个 VM Server X,它有一个 1 GHz CPU。现在它正在运行两个 VM 的 A 和 B。A 被赋予 300 MHz,B 被赋予 700 MHz。基本 Server X CPU 如何实际共享 Hz 处理能力?它是否像 OS 任务线程一样共享 CPU?还是真的可以同时分权?
因此,据我了解,VMWare 可以让各种VM 共享、保留和限制它们获得多少 CPU。我的问题是,这实际上如何在主机服务器 CPU 上工作?
例如,有一个 VM Server X,它有一个 1 GHz CPU。现在它正在运行两个 VM 的 A 和 B。A 被赋予 300 MHz,B 被赋予 700 MHz。基本 Server X CPU 如何实际共享 Hz 处理能力?它是否像 OS 任务线程一样共享 CPU?还是真的可以同时分权?
在一个非常基本的层面上,它是分时处理器。当您引入多处理器、多核和超线程时,这有点复杂,但基本概念保持不变。
之所以如此,是因为来宾机器实际上与操作系统线程非常相似,因为底层的 VMWare 软件本质上是一个专用于托管虚拟机的操作系统。
这发生在 VMkernel 中。查看VMworld 2007 - TA61 VMware Infrastructure 3 - Best Practices for Performance,以获得关于共享、预留、限制和性能共享的精彩讨论。
注意:VMworld 站点需要注册 - 并确保单击“查看”链接而不是指向实际会话的链接。
这是一个分时度假。归根结底,无论是在 VMWare ESX Server、Linux DNS 服务器或 Windows XP 上运行 Windows 主机以及传说中唯一存在的 Duke Nukem Forever 副本,计算机仍然以相同的方式运行。