当 KVM 虚拟机尝试使用同一个处理器核心时会发生什么?

当 KVM 虚拟机尝试使用同一个处理器核心时会发生什么?

我在一台服务器上使用 KVM 托管了许多虚拟机。问题是现在机器数量多于处理器核心数量。我发现我无法使用比现有内存更多的内存,但我可以拥有比核心更多的机器吗?

当两个客户机必须使用同一个核心时会发生什么?其中一个会等待空闲的核心(并完全冻结超过 1 秒的时间)还是它们会使用同一个核心,而主机会不断在它们之间切换(只会给核心带来更多负载)。这种切换会给客户机带来问题吗?

我之所以问这个问题,是因为 Windows 客户端之一出现了奇怪的事情(例如搜索不起作用,某些服务停止运行)——不确定这是否相关。Linux 客户端似乎没问题,但我确实需要不时重启它们。

答案1

是的,虚拟机的数量可以多于核心数。虚拟机管理程序的工作是划分 CPU 使用率,就像常规内核会调度多个进程一样。事实上,使用 KVM 时,虚拟机的调度方式几乎是确切地就像同一个 Linux 主机内核的常规进程一样。

(请记住,虚拟化也适用于单核系统,这意味着虚拟机管理程序、主机和客户机必须在同一核心上运行。因此,多个客户机也可以共享一个核心。毕竟,这就是虚拟化的全部意义所在。)

相关内容