Ste*_*eve 12 virtualization central-processing-unit mapping kvm-virtualization
我是虚拟化派对的相对较晚的人,所以如果这似乎是一个显而易见的问题,你必须原谅我。
如果我的服务器有 12 个可用内核,那么每个 KVM 来宾都可以访问所有 12 个内核吗?我知道 KVM 使用了 Linux 调度程序,但这就是我对“接下来会发生什么”的理解结束的地方。
我提出这个问题的原因是,我们打算在 KVM 来宾中运行的 10 个左右不同的任务(为了隔离以促进升级)不会在 100% 的时间内使用单个核心,因此在此基础上似乎很浪费必须为每个来宾分配 1 个虚拟 CPU - 我们将从一开始就用完内核,并使用“完整”的空闲服务器来显示它。
换句话说,假设我上面的描述,就处理能力而言,1 个虚拟 CPU 是否实际上等同于 12 个物理内核?或者这不是它的工作原理?
非常感谢
史蒂夫
Chr*_*rpe 10
一个虚拟 CPU 相当于 1 个物理内核,但是当您的 VM 尝试处理某些内容时,它可能会在当时碰巧可用的任何内核上运行。调度程序处理这个,VM 不知道它。您可以将多个 vCPU 分配给一个 VM,使其可以跨多个内核同时运行。
核心根据需要在所有 VM 之间共享,因此您可以拥有一个 4 核系统,并在其上运行 10 个 VM,每个 VM 分配有 2 个 vCPU。根据调度程序的决定,VM 非常有效地共享系统中的所有核心。这是虚拟化的主要好处之一 - 充分利用订阅不足的资源来支持多个操作系统实例。
如果您的 VM 太忙以至于它们不得不争用 CPU 时间,那么结果就是 VM 可能不得不等待 CPU 时间。同样,这对 VM 是透明的,并由调度程序处理。
我不熟悉 KVM,但以上所有内容都是大多数虚拟化系统的通用行为。
| 归档时间: |
|
| 查看次数: |
41490 次 |
| 最近记录: |