ProxMox 中的 CPU 单元用于什么?

ProxMox 中的 CPU 单元用于什么?

我在 Proxmox 中看到过这个“CPU 单元”——但是我不确定它们是做什么的——它们是用来做什么的。

我们所有的 VPS 都设置为 1000

我们有一些 Windows 系统可能需要注入 CPU - 所以不确定将其提高到 100000 是否可行......

另外,我们在系统上使用了大量基于容器的 vps,两者之间有什么区别吗?

答案1

来自Proxmox 论坛

容器的 CPU 权重。参数是正非零数,传递给内核公平调度程序并在其中使用。数字越大,此容器获得的 CPU 时间越多。最大值为 500000,最小值为 8。数字相对于所有其他正在运行的容器的权重。如果未指定 cpuunits,则使用默认值 1000。

答案2

或许这是正确的解释。 http://forum.proxmox.com/threads/889-CPU-questions?p=14601#post14601

首先需要运行以下命令来查明系统中有多少个 CPU 单元:

代码:

虚拟专用网络检查

就我而言,我得到:

代码:

vzcpucheck 当前CPU利用率:14000 节点功率:906755

现在,如果我为该节点上的 VM 提供 1000 个单位,则意味着该 OpenVZ VM 将获得 1000 除以 906755 并乘以 100 = 0.1% 的 CPU 时间。

因此,如果我想为我的 VPS 提供 5% 的保证时间,我将输入 CPU 单元 = 45337

答案3

OpenVZ(基于容器的系统)和 KVM 都将在 Proxmox 中以相同的方式操作 CPU 单元

简而言之 - CPU 单元用于内核公平调度程序。值越大 - 容器或 KVM 实例获得的 CPU 时间越多。

你提到“将其提高到 1000000 是否可行?” 否

容器可能拥有的最大数量是 50,000,最小数量是 8。Proxmox 默认为 1000 - 这就是您采用默认值 1000 的原因。

这是它目前应该如何工作,但是 OpenVZ 不遵循 CPU 单元 - 因此每个容器中都会使用所有可用的 CPU...

但是可能需要直接使用 OpenVZ 进行验证。

相关内容