当前位置: 首页 » 综合知识 » it知识 » 正文

docker限制容器怎么使用CPU

发布时间:2023-07-24 以下文章来源于网友投稿,内容仅供参考!

默认设置下,所有容器可以平等地使用 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:

  • • Linux Ecdsa密钥长度选择有何依据

    在Linux

  • • Linux Khook在内核监控中的应用如何

    Linux

  • • Linux Gsoap是否支持异步通信

    GSOAP是

  • • Linux Coremail如何提升用户体验

    提升Linu

  • • Linux Ecdsa算法有哪些局限性

    ECDSA

  • 哎呀音乐钢琴键盘学习《 钢琴主人训练营》 西瓜学琴
    郭蝈 陪练钢琴 30节课时 考级刚需 让孩子每一次练琴都是高质量的
    30天轻松学会五线谱 流行钢琴自学初级教程 牙牙学琴
    流行爵士钢琴实战技巧VIP课 - 继伟 哎呀音乐
    【海上钢琴师】原版 MT1990钢琴谱
    百首经典流行钢琴实战曲集 - 继伟
    雷费尔德电钢琴重锤88键专业考级儿童初学者数码电子钢琴家用
    小练咖 真人钢琴陪练 1v1服务 2999随时退 1课时50分钟 考级刚需
    雅马哈电钢琴88键重锤CLP735智能数码电子钢琴家用专业初学者考级
    【原装进口】Yamaha/雅马哈钢琴 b121 SC2原声静音钢琴
  • 珠海专业调钢琴
  • 天津宝坻区调钢琴
  • 天津静海区钢琴调音
  • 成都简阳市钢琴调律
  • 大连瓦房店市钢琴调音
  • 眉山调钢琴联系方式
  • 惠州大亚湾钢琴调琴师
  • 长治调琴师
  • 厦门湖里区钢琴调音师
  • 上海普陀区钢琴调音师