Block IO:指的是磁盘的读写,docker 可以通过设置权重,限制bpsiops的方式控制容器读写磁盘的带宽

注:目前block IO限额只对direct IO不使用文件缓存)有效。

1.Block IO权重:--blkio-weight,这个--blkio-weight的权重值在  10~1000之间

和容器cpu的使用机制是一致的,所有容器都可以平等的读写磁盘,可以通过--blkio-weight参数来改变容器的优先级

--blkio-weight和-c类似,设置的都是资源使用的权重,都是在资源紧张的情况下才会起到权重的作用,正常情况下,都是平等的

--blkio-weight-device 针对特定的设备设置权重 例:docker run -d --blkio-weight-device /dev/sdb:30M httpd

如果同时设置了--blkio-weight和--blkio-weight-device,则以--blkio-weight为全局默认配置

--blkio-weight和--blkio-weight-device,由于是根据权重进行资源分配的,而这种权重有体现在资源紧缺的情况下,所以暂时不做试验

2.限制bps和iops

bps:byte per second ,每秒读写的数据量

iops:io per second ,每秒IO次数

可以通过以下参数来控制容器的bps 和iops:

--device-read-bps:限制读某个设备的bps(数据量)   例:docker run -d  --device-read-bps /dev/sdb:30M  httpd

--device-write-bps : 限制写入某个设备的bps(数据量) 例:docker run -d --device-write-bps dev/sdb:30M httpd

--device-read-iops :限制读某个设备的iops(次数) 例:docker run -d --device-read-iops /dev/sdb

--device-write-iops :限制写入某个设备的iops(次数)

做一个限制bps的写入的操作的试验:由于没有找到比较好的“读”相关的bps和iops 的测试,所以这种测试之后在实际工作环境下再酌情进行测试吧~

docker run -it--device-write-bsp /dev/sda:60M --name bsp3 centos

oflag=direct:指定使用direct IO方式写文件,这样--device-write-bps才会生效

在这个实验中,从结果来看是63M,但是我设置的是60M,按正常来说应该低于60M,但是为什么会高于60M呢?

根据我的分析来讲,是由于docker block IO 是根据权重来限制,而这种权重是体现在资源紧张的情况下的,在本实验中,资源非常够用,所以会出现以上结果

我们来看一下正常情况下的试验结果

在这个试验中,是没有对容器加限制的,可以看到他的写入大小速度非常高

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

  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. Cordova - 彻底搞定IOS编译!

    操作系统:OSX10.14 XCode:10.1 Cordova:8.1.2 假设已经配置好了Cordova开发环境,Apple ID你也有,XCode也可以正常工作了,那么就可以继续看这篇文章了! ...

  2. jQuery validate and groups - how to avoid errorPlacement usage?

    本文参照:https://stackoverflow.com/questions/14146893/using-groups-with-jquery-form-validation-how 指定错误提 ...

  3. Extjs4---Cannot read property 'addCls' of null 或者 el is null 关于tab关闭后再打开不显示或者报错

    做后台管理系统时遇到的问题,关于tab关闭后再打开不显示,或者报错 我在新的tabpanel中加入了一个grid,当我关闭再次打开就会报错Cannot read property 'addCls' o ...

  4. hadoop的企业优化

    前言: Mapreduce程序的效率的瓶颈在于两点: 计算机性能: CPU.内存.磁盘健康.网络 I/O操作: 数据倾斜 map和reduce数量设置不合理 map的运行时间太长,导致reduc的等待 ...

  5. blfs(systemv版本)学习笔记-编译安装sudo并创建普通用户配置sudo权限

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! blfs书中sudo的安装配置章节:http://www.linuxfromscratch.org/blfs/view/8.3/ ...

  6. 【代码笔记】Web-HTML-表格

    一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  7. python txt文件数据转excel

    txt content: perf.txt 2018-11-12 16:48:58 time: 16:48:58 load average: 0.62, 0.54, 0.56 mosquitto CP ...

  8. iOS开发-本地存储(偏好设置,Plist,归档)

    1.   NSUserDefaults //TODO: 1.NSUserDefaults NSUserDefaults类除了可以存储数组.字典.NSdata外,还可以直接存储OC基本类型属性.但是不能 ...

  9. mac下载的excel如果带有超链接,url被转义问题

    注释的代码是file开头的,这种链接在mac系统进行跳转url会转义 hyperlink 还有一种就是http这种就可以正常跳转了. String sLink = basePath + "/ ...

  10. python正则表达式模块re:正则表达式常用字符、常用可选标志位、group与groups、match、search、sub、split,findall、compile、特殊字符转义

    本文内容: 正则表达式常用字符. 常用可选标志位. group与groups. match. search. sub. split findall. compile 特殊字符转义 一些现实例子 首发时 ...