Docker底层技术Namespace Cgroup应用详解

2020-06-17 06:38:24易采站长站整理

[root@05a0be7b870a /]# cat /sys/fs/cgroup/memory/memory.memsw.limit_in_bytes
314572800

2)容器对cpu限制:

通过-c或者–cpu-shares设置容器实验cpu的权重。如果不设置默认是1024.


//基于centos镜像,运行一个容器,名字为containerB,cpu权重限制为512:
[root@sqm-docker01 ~]# docker run -it --name containerB -c 512 centos
[root@b2cf9f28ce1d /]# cat /sys/fs/cgroup/cpu/cpu.shares
512

3)限制容器的Block io(磁盘的读写):

bps:每秒读写的数据量。byte per second
iops:每秒io的次数。 io per second

–device-read-bps:设置读取设备的bps
–device-write-bps:设置写入设备的bps

–device-read-iops:设置读取设备的iops
–device-write-iops:设置写入设备的iops


//创建一个容器名为testA,并限制该磁盘每秒写入的数量为为30MB。
[root@sqm-docker01 ~]# docker run -it --name testA --device-write-bps /dev/sda:30MB centos

写入数据进行测试:

参数解释:
infile=从/dev/zero中提取
outfile=自定义一个名称
bs=1M 文件大小为1M
count=800 总共写800次。
oflag=direct:用来指定directory IO方式写文件,这样才会使–device-write-bps生效。

可以发现每秒写入的数量为80M,大概用时26s。

正常写入磁盘时:

以上就是本次介绍的关于Docker底层技术全部知识点,感谢大家的学习和对软件开发网的支持。