具有多个虚拟核心的虚拟机 CPU 分配

具有多个虚拟核心的虚拟机 CPU 分配

我对这个领域和 Stack Exchange 还很陌生,但我会尽量让这个问题不成为垃圾问题。最近这个问题真的让我很烦恼,因为我正在尝试在 VPS 上设置一些东西,

简而言之,问题是:如果物理机器只有一个核心,那么在具有多个虚拟核心的虚拟机上运行的单线程进程是否可以充分利用物理机的全部容量?

如果不清楚的话,我会尝试在下面提供更多背景和细节来提出问题:

假设我在虚拟机上运行一个资源密集型的单线程进程。此虚拟机有多个虚拟核心,但由于该进程只有一个线程,因此只有一个核心可以执行它。但是,虚拟机在只有一个核心的物理机上运行。

通常情况下,当您有多个核心但只有一个线程时,只有一个核心会被利用,其余核心则处于空闲状态,对吗?我对虚拟机中的情况有两种看法,但似乎找不到有关这种情况的任何信息。我​​的意思是,对于虚拟机来说,它确实是多个核心上的单线程,但最终物理机也只有一个核心。其他虚拟核心是否会处于空闲状态,从而浪费物理机的 CPU 周期?

虚拟机管理程序是否能够满足单线程进程的所有物理核心容量?只有某些虚拟机管理程序可以做到这一点,还是虚拟机管理程序能够做到这一点是一种常见/罕见的能力?

我知道同时问多个问题是种坏习惯,但我觉得这些问题如此相关,所以不妨一次性问出来。

相关内容