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。