Docker容器场景下CPU与内存超配比例设置规则是怎样的?
Docker 容器资源超配规则
Docker 没有像 OpenStack 那样在全局配置文件里预设默认超配比例,它的资源超配依赖 Linux 内核 Cgroups 的过量提交机制实现,没有统一的强制阈值,行业通用的实践比例可以参考以下标准:
- CPU 超配
针对无状态、CPU 使用率偏低的轻量业务(比如静态资源服务、低并发接口服务),通用超配比可以做到 1:8 ~ 1:20,和 OpenStack 的 1:16 推荐值基本重合;如果是 CPU 密集型业务(比如音视频编码、数据计算任务),不建议超配,比例控制在 1:1 ~ 1:2 即可。
按 1:16 的通用比例计算,8 逻辑核宿主机最多可跑 128 个 1 核规格的轻量容器,和同规格宿主机上 OpenStack 能跑的 1 核虚拟机数量持平,甚至因为容器没有 GuestOS 额外开销,实际可部署数量还能再高 10% ~ 20%。 - 内存超配
内存超配的风险远高于 CPU,CPU 资源不足只会导致业务响应变慢,内存不足会触发内核 OOM 机制直接杀掉进程,所以内存超配的比例通常更保守:常规业务建议控制在 1:1 ~ 1:2 之间,低负载、内存占用稳定的业务最高可以到 1:1.5,和 OpenStack 的推荐值一致。核心业务不建议做内存超配,如果要开启超配建议提前给宿主机配置足够的 Swap 分区兜底。
注意:超配比没有绝对标准,实际部署前建议先压测业务的平均资源占用率,再调整最终的超配比例,避免资源不足影响业务可用性。
内容的提问来源于stack exchange,提问作者user7693832
相关产品推荐
相关产品推荐

