千家信息网

如何限制容器对CPU的使用

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本篇文章给大家分享的是有关如何限制容器对CPU的使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。默认设置下,所有容器可以平等地使用 h
千家信息网最后更新 2026年11月04日如何限制容器对CPU的使用

本篇文章给大家分享的是有关如何限制容器对CPU的使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

默认设置下,所有容器可以平等地使用 host CPU 资源并且没有限制。

Docker 可以通过 -c 或 --cpu-shares 设置容器使用 CPU 的权重。如果不指定,默认值为 1024。

与内存限额不同,通过 -c 设置的 cpu share 并不是 CPU 资源的绝对数量,而是一个相对的权重值。某个容器最终能分配到的 CPU 资源取决于它的 cpu share 占所有容器 cpu share 总和的比例。

换句话说:通过 cpu share 可以设置容器使用 CPU 的优先级。

比如在 host 中启动了两个容器:

docker run --name "container_A" -c 1024 ubuntu

docker run --name "container_B" -c 512 ubuntu


container_A 的 cpu share 1024,是 container_B 的两倍。当两个容器都需要 CPU 资源时,container_A 可以得到的 CPU 是 container_B 的两倍。

需要特别注意的是,这种按权重分配 CPU 只会发生在 CPU 资源紧张的情况下。如果 container_A 处于空闲状态,这时,为了充分利用 CPU 资源,container_B 也可以分配到全部可用的 CPU。

下面我们继续用 progrium/stress 做实验。

  1. 启动 container_A,cpu share 为 1024
    --cpu 用来设置工作线程的数量。因为当前 host 只有 1 颗 CPU,所以一个工作线程就能将 CPU 压满。如果 host 有多颗 CPU,则需要相应增加 --cpu 的数量。

  2. 启动 container_B,cpu share 为 512:

  3. 在 host 中执行 top,查看容器对 CPU 的使用情况
    container_A 消耗的 CPU 是 container_B 的两倍。

  4. 现在暂停 container_A

  5. top 显示 container_B 在 container_A 空闲的情况下能够用满整颗 CPU:

以上就是如何限制容器对CPU的使用,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

容器 资源 限制 情况 数量 权重 分配 工作 两个 更多 知识 空闲 篇文章 线程 不同 实用 平等 优先级 内存 取决于 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 华服互联网科技怎么样 深圳恒合互联网络科技有限公司 互联网科技社 西藏七维空间互联网科技有限公司 互联网为啥属于高科技 江阴互联网智能科技产品进口 新兴科技互联网创新大赛颁奖典礼 乌鲁木齐新华智原互联网科技学校 互联网科技如何创业 智帮互联网科技公司最近动向 广州千川互联网科技有限公司 珠海东科互联网科技有限公司 悟空问答互联网科技 互联网科技创新创业项目 上海旺乐尼互联网科技有限公司 恒生互联网科技趋势 科技互联网企业在行动 伍佰万互联网科技是干嘛的 高科技和互联网的现代国家 互联网科技快速发展优美句子 互联网科技公司 互联网科技企业 狮子座互联网科技 互联网金融和金融科技 速维有品互联网信息科技(苏州)有限公司 西安小鹰速贷互联网科技有限公司 长沙茂晟互联网科技有限公司 互联网科技快讯热点 数字互联网科技有限公司 安徽九吞吴互联网科技有限公司
0