centos7下安装docker(9.3容器对资源的使用限制-Block IO))
Block IO:指的是磁盘的读写,docker 可以通过设置权重,限制bps和iops的方式控制容器读写磁盘的带宽
注:目前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))的更多相关文章
- 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就是 ...
随机推荐
- 详解@EnableWebMvc
最近看了<Spring in Action>的开头,就被Spring注解开发(完全不写web.xml)惊叹了,也第一次知道了@EnableWebMvc是SpringMVC的注解 @Enab ...
- [NOI 2017]整数
Description 题库链接 P 博士将他的计算任务抽象为对一个整数的操作. 具体来说,有一个整数 \(x\) ,一开始为 \(0\) . 接下来有 \(n\) 个操作,每个操作都是以下两种类型中 ...
- SpringMVC+SpringJdbc+SQLServer+EasyUI增删改查
前言 前天用SpringJdbc连接了一把SQLServer,早上起来用SpringMVC+SpringJdbc+EasUI写了个增删改查的demo,主要是熟悉下SpringMVC相关知识点,如vie ...
- epoll的高效实现原理
epoll的高效实现原理 原文地址:http://blog.chinaunix.net/space.php?uid=26423908&do=blog&id=3058905 开发高性能网 ...
- IIS部署wordpress4.7.4
准备环境和安装包:win7操作系统 iis php7.1.6 wordpress4.7.4 1.安装iis,需要cgi模块,一般安装建议全部勾选上. 2.安装配置php7.1.6 在官网http ...
- ArrayList和LinkedList的区别以及优缺点
作用 ArrayList和LinkedList都是实现了List接口的容器类,用于存储一系列的对象引用.他们都可以对元素的增删改查进行操作. 对于ArrayList,它在集合的末尾删除或添加元素所用的 ...
- elasticsearch6.7 01.入门指南(3)
4.Modifying Your Data(修改数据) Elasticsearch 提供了近实时的操纵数据和搜索的能力.默认情况下,从索引/更新/删除数据到在搜索结果中显示数据会有 1 秒的延迟(刷新 ...
- 【IDEA&&Eclipse】5、IntelliJ IDEA常见配置
[idea配置jdk] http://blog.csdn.net/tolcf/article/details/50803414 [idea intellij 如何配置tomcat]http://jin ...
- Matlab function lorenzgui
function lorenzgui %LORENZGUI Plot the orbit around the Lorenz chaotic attractor. % This function an ...
- 搭建Hbase完全分布式集群
配置HBASE: 因为Hbase要依赖zookeeper集群和Hadoop集群,所以在配置hbase之前先确保已经配置zookeeper集群和Hadoop集群,这里不再详解zookeeper和hado ...