在启动容器的时候有很多参数,这里来实践一下与CPU相关的参数。

docker之CPU配额参数的混合使用

实例:

创建两个容器,docker10、docker20,让两个容器只运行在CPU0上,然后测试CPU使用率。

[root@openstack ~]# docker run -it --cpuset-cpus 0 --cpu-shares 512 --name docker10 centos-httpd
[root@05e5d03c10fd /]# yum install -y epel-release
[root@05e5d03c10fd /]# yum install stress -y

[root@openstack ~]# docker run -it --cpuset-cpus 0 --cpu-shares 1024 --name docker20 centos-httpd
[root@9397ac5ac2a5 /]# yum install -y epel-release    安装epel扩展源
[root@9397ac5ac2a5 /]# yum install stress -y   
[root@openstack ~]# docker ps      查看启动的容器
CONTAINER ID        IMAGE                     COMMAND             CREATED             STATUS              PORTS               NAMES
9397ac5ac2a5        centos-httpd              "/bin/bash"         4 minutes ago       Up 4 minutes                            docker20
05e5d03c10fd        centos-httpd              "/bin/bash"         4 minutes ago       Up 4 minutes                            docker10
在docker10上进行压测:
[root@05e5d03c10fd /]#  stree -c 2 -v -t 10m

CPU0的使用率为100%,但是CPU1没有使用
docker之CPU配额参数的混合使用

停止在docker10上面压测在docker20上面进行压测:

[root@9397ac5ac2a5 /]# stress -c 2 -v -t 10m
docker之CPU配额参数的混合使用

在两个容器中都进行压测:

CPU0的使用率为100%,两个的比例大概为2:1

docker之CPU配额参数的混合使用