我在 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 进行验证。