obcp课程第一天ppt cpu超卖的公式是不是写错了


这个公式的%是正确的位置吗?

4 个赞

根据提供的参考资料,OceanBase V4 数据库关于 CPU 超卖(Overselling) 的描述是正确且符合官方设计逻辑的

以下是资料中关于 CPU 超卖的核心要点及规则,供您核对:

1. 资源超卖的基本原则

在 OceanBase V4 版本中,资源超卖遵循“CPU 可超卖,内存与磁盘严禁超卖”的原则。这是为了确保在提升 CPU 利用率的同时,不会因为内存或磁盘耗尽而导致系统崩溃。

2. 超卖的定义与控制

  • 概念:超卖是指 OBServer 上分配给所有租户的 CPU 资源总和超过了该物理节点实际配置的 CPU 总数(cpu_count)。
  • 控制参数:超卖比例由集群配置项 resource_hard_limit 控制。
    • 默认值 100:表示不允许超卖,所有租户可分配的 CPU 总数不能超过 cpu_count * 100%
    • 值 > 100:表示允许超卖。例如,设置为 150 表示允许分配出 1.5 倍的物理 CPU 资源。

3. 超卖状态下的硬性约束

当开启超卖(即 resource_hard_limit > 100)时,资源分配必须同时满足以下两个限制条件:

  • MIN_CPU 约束:OBServer 上所有租户的 MIN_CPU 之和不能超过物理 cpu_count。这确保了在极端负载下,系统至少能为每个租户提供其承诺的最小性能保障。
  • MAX_CPU 约束:OBServer 上所有租户的 MAX_CPU 之和不能超过 cpu_count * resource_hard_limit%

4. 示例说明

假设物理机 cpu_count = 32

  • 不超卖(limit=100)MIN_CPU 总和上限为 32,MAX_CPU 总和上限也是 32。
  • 超卖(limit=150)MIN_CPU 总和上限仍为 32,但 MAX_CPU 总和上限放宽到 48

5. 补充:隔离机制

CPU 的这种超卖和限制是通过 Linux 的 cgroup 机制(硬隔离)来实现的:

  • 当系统 CPU 负载不高时,按 MAX_CPU 控制租户上限。
  • 当系统 CPU 发生争抢(负载高)时,按 MIN_CPU 的比例(对应 cpu.shares)来分配计算权重,确保关键业务的资源倾斜。

总结
1 如果您看到的资料提到内存或磁盘可以超卖,或者提到 MIN_CPU 之和可以超过物理核数,那才是不正确的。参考资料明确指出了 CPU 超卖的边界和底线。
2 公式中的% 放前面和后面没有区别

意思理解正确就行了吧

666