今天继续给大家介绍Linux运维相关知识,本文主要内容是Docker的CPU资源限额配置。
当我们在一台设备上运行多个Docker时,我们会对一个Docker容器的使用进行限制,避免其使用过多的系统硬件资源,而造成其他的容器“饿死”的现象。在Docker的使用中,我们通过使用cgroup来对Docker的容器资源使用进行限制。
Docker对容器CPU的限制可以分为三种,即相对份额限制、绝对使用限制以及CPU核心控制。

一、CPU相对份额限制

所谓CPU相对份额限制,指的是给Docker的镜像分配一个“份额”,使得当CPU资源紧张时,不同的Docker镜像之间对CPU资源的竞争大致上是按照这个份额的比例来进行使用的。
但是,CPU的相对份额限制又不是绝对的,即当CPU资源不紧张时,任何一个Docker容器都可以“任意”占据CPU资源。这样,即使是一个份额比较小的Docker容器,占据的CPU资源也会超过份额比较大的Docker容器。
Docker容器在执行运行命令时,可以使用-c(或者是–cpu-shares)参数来指定该容器的CPU使用份额。在默认情况下,Docker容器的CPU份额是1024。
由于该参数对CPU限制的特殊性,因此,当系统中只有一个Docker容器在运行的时候,该参数的配置是没有意义的。即,这种CPU限制只会在CPU资源紧缺时才会生效,任何一个Docker容器都可以在CPU资源不紧缺的时候,都可以任意的占据使用CPU,这种限制此时不会生效,同样的,这种限制也无法保证Docker容器获得多长的CPU使用时间或者是CPU频率。
Docker容器在运行后,我们可以在/sys/fs/cgrou[/cpu/cpu.shares文件中查看我们配置的CPU份额,结果如下所示:

二、CPU使用绝对限制

不同与CPU的份额相对限制,Docker还支持一种“硬性”的对CPU资源的限制。我们都知道,现代操作系统为了保证多程序多任务的运行,对CPU的使用采取了分片的策略,CPU在使用时会不断的从一个任务切换到另一个任务,每次获得CPU资源的进程实际上就是获得了CPU的使用权,或者说获得了CPU分片。
在Docker容器运行时,我们可以通过–cpu-period和–cpu-quota参数来指定Docker容器对CPU的占用情况。–cpu-priod参数指定容器对CPU使用的分配周期,而–cpu-quota则指定了在该周期内,该进程最多可以使用CPU的时间。–cpu-period和–cpu-quota的单位均为微妙(1秒=1000000微妙)。
例如,我们设置–cpu-period为1000000,设置–cpu-quota的值为100000,则表示在1秒钟内,该Docker容器使用CPU最长为0.1秒。
–cpu-period参数的最小值为1000,最大值为1000000,默认值为100000。–cpu-quota的默认值为-1,表示不进行控制。
Docker容器在运行后,我们可以在/sys/fs/cgrou[/cpu/cpu.cfs_period_us和cpu.cfs_quota_us文件中查看我们的CPU周期和时长配置,如下所示:

三、CPU核心控制

除了上述对CPU的使用限制外,现代的计算机一般是多核CPU,因此,我们有时还希望一个Docker容器能够固定在一个CPU上运行。这对于NUMA(即非一致存储访问结构)的服务器尤为有用,而对于简单的单核服务器则没有任何作用。
在Docker容器运行时,我们可以使用参数–cpuset来绑定CPU,使得该Docker容器只在固定的CPU上运行。
在Docker容器运行后,我们可以使用task命令查看Docker容器使用的CPU内核,如下所示:

原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

Docker详解(十)——Docker容器CPU资源限额配置相关推荐

  1. docker详解(尚硅谷阳哥)

    文章目录 1.docker为什么会出现 2.docker简介 3.传统虚拟机和容器的对比 3.1虚拟机 3.2容器虚拟化技术 3.3两者对比 4.docker的作用 6.docker的应用场景 7.d ...

  2. 微服务--Docker详解

    Docker详解 零.文章目录 一.Docker基础 1.容器发展 物理机 软件开发最大的麻烦事之一,就是环境配置.用户必须保证两件事:操作系统的设置,各种库和组件的安装.只有它们都正确,软件才能运行 ...

  3. Docker常用命令使用详解(docker help、version、info、images)(一)

    Docker常用命令 命令 描述 docker .docker help.docker --help 列出可用命令 docker version 显示Docker版本信息 docker info 显示 ...

  4. Docker详解(九)——Docker镜像发布

    今天继续给大家介绍Linux运维相关知识,本文主要内容是Docker镜像发布. 一.Docker镜像发布简介 在上文Docker详解(八)--Docker镜像制作中,我们介绍了Docker镜像的制作, ...

  5. 元宇宙技术普及读本重磅问世 详解十大技术 把脉数字经济 前瞻产业布局

    转自 元宇宙共识圈 王恩东.倪光南.沈昌祥.郑纬民--四位中国工程院院士联袂力荐 倪健中.姚前.李正茂.朱嘉明.肖风.敖然等权威专家一致推荐 汇聚元宇宙技术专家及产业一线佼佼者倾力撰写 元宇宙技术普及 ...

  6. Linux内核Thermal框架详解十二、Thermal Governor(2)

    本文部分内容参考 万字长文 | Thermal框架源码剖析, Linux Thermal机制源码分析之框架概述_不捡风筝的玖伍贰柒的博客-CSDN博客, "热散由心静,凉生为室空" ...

  7. 新手入门 - 详解 frp 内网穿透 frpc.ini 配置

    本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址. 转载地址:新手入门 - 详解 frp 内网穿透 frpc.ini 配置 - 思有云 - IOIOX ...

  8. 学完Nginx/OpenResty详解,反向代理与负载均衡配置,能涨薪多少

    反向代理与负载均衡配置 接下来介绍Nginx的重要功能:反向代理+负载均衡.单体Nginx的性能虽然不错,但也是有瓶颈的.打个比方:用户请求发起一个请求,网站显示的图片量比较大,如果这个时候有大量用户 ...

  9. 深入浅出之必须全面掌握的独立环境容器部署技术docker详解

    目录 一.docker学习大纲 二.聊聊docker为什么会出现 三.聊聊docker的历史 四.docker能做什么 五.docker中的名词概念 六.安装docker 七.配置阿里云镜像加速 八. ...

  10. centos7 docker删除端口映射_容器Docker详解

    概述 基本概念Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源.Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Li ...

最新文章

  1. AngularJS - 自定义指令
  2. Java对象容器——Hash表/散列表
  3. Boost:字符串替换的测试程序
  4. Docker 容器CPU设置
  5. 你真的了解 timeout 吗?
  6. FTC再度对Facebook提起反垄断诉讼,要求其出售Instagram和WhatsApp
  7. bzoj 1133: [POI2009]Kon(DP)
  8. Python数据分析四剑客:IPython、Numpy、pandas、Matplotlib
  9. 2017年多校联合训练 第五场(吉如一)
  10. Outlook 365 添加企业Exchange邮箱(亲测)
  11. 获得代理ippython_Python自动获取代理IP
  12. 配置java comp路径_java:comp/env/jdbc/ 的两种配置方法
  13. Python面试宝典(第十二章 企业真题实战)
  14. 1012-RPA与目标使用者
  15. 人体体重秤体脂秤方案PCBA设计
  16. squid配置透明代理并支持Https及http、https拦截
  17. 如何用cmd运行jar
  18. ubuntu | 命令行中输出文件夹下的文件+输出某个后缀的文件+文件名作为参数运行py脚本
  19. 荣耀智慧屏鸿蒙远程控制电脑,荣耀智慧屏评测:鸿蒙OS加持 面向未来的超智能电视...
  20. 板材开料最优算法_电子开料锯比较普通锯的五大优势与具体的区别

热门文章

  1. 每日算法系列【LeetCode 927】三等分
  2. numpy—np.nan_to_num
  3. 深度学习2.0-3.tensorflow的基础操作之索引与切片
  4. 机器学习算法基础5-决策树与随机森林
  5. 一文弄懂Java中的四种引用类型
  6. 作者讲述《一个操作系统的实现》的故事
  7. 面向对象之Python的链表实现(二)循环链表
  8. 【论文阅读】Pancreas Segmentation in Abdominal CT Scan: A Coarse-to-Fine Approach 2016
  9. linux系统安装coerplayer,安装deepin~
  10. 炉石怎么看服务器是否维护,炉石传说服务器维护故障补偿方案详细内容