centos7下安装docker(9.1容器对资源的使用限制-CPU)
默认情况下,所有容器可以平等的使用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)的更多相关文章
- centos7下安装docker(9容器对资源的使用限制-内存)
一个docker Host上面会运行若干容器,每个容器都需要CPU,内存和IO资源.容器提供了控制分配多少CPU,内存给每个容器的机制,避免摸个容器因占用太多资源而影响其他 ...
- centos7下安装docker(19容器架构)
What,Why,How What:什么是容器? 说起容器大家想到的是什么? 集装箱(container),虚拟机,docker,k8s 1. 没毛病,因为容器与集装箱的英文都可以翻译成co ...
- centos7下安装docker(11容器操作总结)
这段时间主要是学习了对容器的操作,包括:容器的状态:start,stop,restart,rename,pause,unpause,rm,attach,exec,kill,logs:还学习了对容器的资 ...
- centos7下安装docker(10容器底层--cgroup和namespace)
cgroup和namespace是实现容器底层的重要技术 cgroup:实现资源限制 namespace:实现资源隔离 1.cgroup:control group Linux操作系统通过cgroup ...
- docker(一) Centos7下安装docker
docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...
- CentOS7下安装docker(Docker系列1)
CentOS7下安装docker 系统要求 为了安装docker,需要准备 64-bit的CentOS 7 删除非官方的Docker包 yum的仓库中有一个很旧的Docker包, 现在Docker官方 ...
- centos7下安装docker与镜像加速
1.背景 centos7下安装docker 2.安装 第一步:检查是否为centos7版本 第二步:依赖环境安装 执行如下两个命令: yum -y install gcc yum -y install ...
- centos7 下安装docker报错:You could try using...
搞了台VPS,想要装docker,发现死活装不上,各种报错.之前系统是centos6,发现官方现在已经不支持centos6了,遂升级到centos7,然后还是出现下面这个错误. Error: Pack ...
- centos7下安装docker(13.4容器volume总结)
最近我们学习了docker 存储,首先docker存储有两种:storage driver和data volume. storage driver是由镜像层和容器层组成的,可以通过docker ins ...
- centos7下安装docker(13.2容器数据共享)
回想一下我们学了两种存储方式:storage driver和data volume,其中又分为bind mount和docker managed volume,我们知道storage driver就是 ...
随机推荐
- IOS获取资源路径
1. 获取已经添加到xcode工程中的某一资源文件 file.txt 的路径 NSString *filePath_= [[NSBundle mainBundle] pathForResource:@ ...
- [转] can not find module @angular/animations/browser
本文转自:https://blog.csdn.net/yaerfeng/article/details/68956298 angularjs4升级了,原来的animations现在被单独出来一个包. ...
- OOA/OOD&UML部分
UML是什么?有哪些常用的图? UML是标准的建模语言:常用图包括:用例图.静态图(包括类图.对象图和包图),行为图.交互图(顺序图.合作图),实现图. 简述一下Singleton模式. Single ...
- 正则检查是否为IP地址
/// <summary> /// 是否为ip /// </summary> /// <param name="ip"></param&g ...
- LeetCode算法笔记目录
贪心算法: LeetCode翻转矩阵后的得分-Python3<六> LeetCode根据身高重建队列-Python3<七> LeetCode 任务调度器-Python3< ...
- C# 分支语句 练习题(中间变量,随机数)
练习一 请输入年份:”(1-9999),请输入月份:”(1-12),请输入日期(要判断大小月,判断闰年),判断输入的时间日期是否正确. 计算输入的时间是当前这一年的第几天. bool dateISOK ...
- [PHP]算法-归并排序的PHP实现
<?php //归并排序 function merge(&$A,$left,$mid,$right,$temp){ //7.左堆起始 $i=$left; //8.右堆起始 $j=$mid ...
- 将第三方包安装到maven本地仓库
今天在做jasper report生成pdf文档的时候,需要引入亚洲字体jar包.maven仓库是有这个jar包,但是在项目pom文件始终不能下载.无奈只有将jar包安装到maven本地仓库. 1 将 ...
- Ajax实现的城市二级联动三
把之前2篇整合在一起 1.html <select id="province"> <option>请选择</option> </selec ...
- opencv学习系列:连通域参考处理
OpenCV里提取目标轮廓的函数是findContours,它的输入图像是一幅二值图像,输出的是每一个连通区域的轮廓点的集合:vector<vector<Point>>. 外层 ...