OceanBase V4 中 cgroup CPU 隔离如何工作?与软隔离有什么区别?

OceanBase V4 中 cgroup CPU 隔离如何工作?与软隔离有什么区别?

V4 默认采用基于 Linux cgroup 的硬隔离 ,将不同租户的工作线程和后台线程放入不同 cgroup 目录,由内核严格限制每个租户的 CPU 使用率。

与软隔离的区别:

  • 软隔离(V3 默认) :通过 MIN_CPU × cpu_quota_concurrency (默认 4)控制活跃线程数。问题在于繁忙租户可能把所有线程跑满,抢占其他租户 CPU。
  • 硬隔离(V4 默认) :以 MAX_CPU 为上限分配 CPU 时间片,资源紧张时按 MIN_CPU 权重分配。即使某租户负载很高,也不会突破 MAX_CPU 限制。

开启条件: 需配置 cgroup 系统目录、建立软链接,并设置 enable_cgroup=true 后重启 OBServer。