加载中...

cgroups(control groups)是 Linux 内核提供的资源管理机制,可将进程组织成层级化的组,并对每组的 CPU、内存、块设备 I/O、网络等资源进行限制、优先级分配、统计与隔离。
cgroups 通过虚拟文件系统暴露接口,每种资源由对应的控制器(controller)管理,如 cpu、memory、io、pids 等。cgroup v2 统一了 v1 中各控制器独立层级的混乱局面,采用单一层级树,成为当前主流。
cgroups 与命名空间共同构成容器技术的内核基础:Docker、Kubernetes 依靠它实现容器的资源配额与限流;systemd 也用 cgroups 管理系统服务。memory 控制器的 OOM 控制、cpu 控制器的配额(cpu.max)是生产环境最常用的功能。
cgroups 使单机多租户资源隔离成为可能,是云原生基础设施的关键底座。

登录 后参与讨论
暂无讨论,来发表第一条评论吧