如何将虚拟机分配给 xen 中的物理核心或线程

如何将虚拟机分配给 xen 中的物理核心或线程

我有英特尔 EX5620 CPU,它有4 个核心和 8 个线程。

 cat /proc/cpuinfo is showing   8 cpus.

从 xen 的 wiki 页面来看,他们说最好将每个虚拟机分配给 CPU 核心以获得更好的性能。

那么在这种情况下,是否意味着如果我将一个核心分配给 dom0,将其余 3 个分配给每个 vm,我只能运行 3 个 vm。

  OR

我可以将线程视为核心,从而运行 7 个 vm,每个 vm 将 CPU 固定到这些线程,并将一个 vm 用于 dom0。

有没有办法将 vms cpu 分配给线程而不是核心。这会有什么区别吗?

答案1

您得到的信息有误。Citrix 提供了一个公式来回答您关于 CPU 分配的基本问题。

XenServer 5.0 Update 3 管理指南 (p. 140)。http://support.citrix.com/article/CTX120713:为每个虚拟机的工作负载提供足够的虚拟 CPU (VCPU)。

不要为虚拟机分配超过其工作所需的 VCPU。如果虚拟机中的服务器只需要大约 300 MHz,则只需要 1 个 VCPU。只给它一个。如果它在您的 2.5GHz 四核机箱上定期有 3000MHz 的工作,请给它两个 VCPU;但不要给它三个或四个。虚拟机拥有的 VCPU 数量应该反映它必须完成的工作量。如果您的虚拟机有 2 个 VCPU,它应该有比 1 个物理核心可以及时完成的​​工作更多的工作。如果它有 4 个 VCPU,它应该有比 3 个物理核心可以及时完成的​​工作更多的工作。

As a formal application of these principles for workloads that require multi-VCPU virtual machines,
allocate VCPUs to maintain this constraint: (V - N) <= (P - 1), where:
V = Total VCPUs across all VMs
N = Number of running VMs
P = Number of Physical CPU cores

相关内容