默认情况下,所有容器可以平等的使用host上的CPU资源并没有限制

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

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

直白点说:通过cpu share可以设置容器使用CPU的优先级。

例如:我们运行两个容器,一个限制CPU的权重为1024,一个设置为512,cpu_1的cpu的大小是cpu_2的cpu的大小的2倍

当两个容器都需要cpu资源的时候,cpu_1获得的cpu资源是cpu_2获得的cpu资源的2倍。

注:这种按权重分配CPU只会发生在CPU资源紧张的情况下。如果cpu_1处于空闲状态,而cpu_2需要资源,那么cpu_2也可以获得全部的CPU 的资源

2.通过progrium/stress镜像做cpu的压测

.运行两个容器:docker2和docker3,分别分配他们的cpu权重为512和1024

--cpu设置的是工作线程的数量。如果当前Host只有一个cpu,那么1个工作线程就可以将CPU压满。如果Host有多颗CPU,则需要指定--cpu的数量

在host执行top命令,查看cpu使用情况(在这里,为什么我只有两个运行的容器,但是当我top的时候有那么多strees的进程?因为你有8颗cpu啊,2个容器就是16个进程啊~~~)

注:这个试验我没做出来,因为我用的Host是8颗CPU的。。。。。。但是我比较坚信,容器cpu权重的分配机制

如:

我运行了一个权重为1024的容器,进入容器查看容器的cpu颗数的时候,显示的是8颗,我Host的cpu个数就是8,也可以说明,容器的CPU是按照权重分配的而不是实际颗数。

centos7下安装docker(9.1容器对资源的使用限制-CPU)的更多相关文章

  1. centos7下安装docker(9容器对资源的使用限制-内存)

                  一个docker Host上面会运行若干容器,每个容器都需要CPU,内存和IO资源.容器提供了控制分配多少CPU,内存给每个容器的机制,避免摸个容器因占用太多资源而影响其他 ...

  2. centos7下安装docker(19容器架构)

    What,Why,How What:什么是容器? 说起容器大家想到的是什么?      集装箱(container),虚拟机,docker,k8s 1. 没毛病,因为容器与集装箱的英文都可以翻译成co ...

  3. centos7下安装docker(11容器操作总结)

    这段时间主要是学习了对容器的操作,包括:容器的状态:start,stop,restart,rename,pause,unpause,rm,attach,exec,kill,logs:还学习了对容器的资 ...

  4. centos7下安装docker(10容器底层--cgroup和namespace)

    cgroup和namespace是实现容器底层的重要技术 cgroup:实现资源限制 namespace:实现资源隔离 1.cgroup:control group Linux操作系统通过cgroup ...

  5. docker(一) Centos7下安装docker

    docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...

  6. CentOS7下安装docker(Docker系列1)

    CentOS7下安装docker 系统要求 为了安装docker,需要准备 64-bit的CentOS 7 删除非官方的Docker包 yum的仓库中有一个很旧的Docker包, 现在Docker官方 ...

  7. centos7下安装docker与镜像加速

    1.背景 centos7下安装docker 2.安装 第一步:检查是否为centos7版本 第二步:依赖环境安装 执行如下两个命令: yum -y install gcc yum -y install ...

  8. centos7 下安装docker报错:You could try using...

    搞了台VPS,想要装docker,发现死活装不上,各种报错.之前系统是centos6,发现官方现在已经不支持centos6了,遂升级到centos7,然后还是出现下面这个错误. Error: Pack ...

  9. centos7下安装docker(13.4容器volume总结)

    最近我们学习了docker 存储,首先docker存储有两种:storage driver和data volume. storage driver是由镜像层和容器层组成的,可以通过docker ins ...

  10. centos7下安装docker(13.2容器数据共享)

    回想一下我们学了两种存储方式:storage driver和data volume,其中又分为bind mount和docker managed volume,我们知道storage driver就是 ...

随机推荐

  1. vue router history模式开发ngnix配置

    一.前沿 现在很多用vue-router开发页面的时候,都习惯使用hash路由莫模式,如:https://xxxx/#/index/share?code=dsfsd.这种模式在做pc端开发时候挺好用的 ...

  2. VB.NET语法小结

    本人精通C#编程,VB没有开发经验,项目维护需要,特意整理了下VB语法,进行恶补.编程思想都是互通的,都是微软生的,语言大同小异. Imports System 一.(1)定义一个变量,并且初始化. ...

  3. centos7学习笔记-安装后的一些配置

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一.允许普通用户使用sudo root用户下运行 visudo 在root ALL=(ALL)ALL下面添加 username ...

  4. css iphonex适配

    /*  iphonex适配 */ @media only screen and (device-width:375px) and (-webkit-device-pixel-ratio: 3) { . ...

  5. JS--我发现,原来你是这样的JS:面向对象编程OOP[1]--(理解对象和对象属性类型)

    一.介绍 老铁们,这次是JS的面向对象的编程OOP(虽然我没有对象,心累啊,但是可以自己创建啊,哈哈). JS高程里第六章的内容,这章内容在我看来是JS中很难理解的一部分.所以分成三篇博客来逐个理清. ...

  6. FI / CO 配置步骤清单

    一.FI配置 01. 创建公司代码:企业结构-定义-财务会计-编辑/复制/删除/检查公司代码.编辑公司OX02 02. 创建会计科目表 OB13 03. 定义会计年度变式 OB29 04. 创建信贷控 ...

  7. Fragment问题集

    最近做一个APP  ,因为在慕课网上学习到了新的方法来做Tab(APP主界面)效果,所以刚学不久久用起来了 用的Fragment实现Tab方法 查询了一下午的安卓资料,关于这个东西是在安卓3.0以后的 ...

  8. Java数据解析---PULL

    安卓和JAVA解析xml文件的三种方式: 1.PULL解析 2.SAX解析 3.DOM解析 三者各有所长,依情况选择解析方式 1.PULL和SAX均采用流式解析,意味着只能从头读到底,无法像DOM解析 ...

  9. 《Inside C#》笔记(十二) 委托与事件

    C#的委托与C++的函数指针类似,但委托是类型安全的,意味着指针始终会指向有效的函数.委托的使用主要有两种:回调和事件. 一 将委托作为回调函数 在需要给一个函数传递一个函数指针,随后通过函数指针调用 ...

  10. 贝塞尔曲线UIBezierPath简单使用

    //常用属性 /* 1.CGPath: 将UIBezierPath类转换成CGPath 2.currentPoint: 当前path的位置,可以理解为path的终点 3.lineWidth: 线条宽度 ...