docker CPU限制的实现
1、--cpu=<value>
1)指定一个容器可以使用多少可用的CPU资源,但无法让容器始终在一个或某几个CPU上运行
2)例如:如果主机有2个CPU,设置--cpus="1.5",则可以报称容器醉倒 容纳一半的CPU,相当于设置--cpu-period="100000"和--cpu-quota="150000"
4核服务器中启动centos基础镜像,并设置使用1核CPU
docker run -itd --cpus="1" --name=centos centos7 /bin/bash
进入容器,开启4核CPU测试
查看容器的资源状态
docker stats 08e1adecf3b7
查看服务器的CPU资源(由于测试服务器还有其他服务在使用,CPU资源比极高,正常是25%左右)
top
2、--cpuset-cpus=<value>
1)限制容器可以使用指定的CPU或内核
2)容器可以使用逗号分隔的列表或以连字符分隔的CPU范围。第一个CPU编号为0,有效值可能是0-3(使用第一、第二、第三和第四CPU)或1,3(使用第二或第四CPU)
3、--cpu-period=<value>
1)指定CPU CFS调度程序周期,该周期与--cpu-quota一起使用。
2)默认值为100000微秒(100毫秒)。大多数用户不会更改默认设置。对于大多数用例,--cpus是一种更方便的代替方法
4、--cpu-quota=<value>
1)设置COU CFS配额
2)对于大数用例,--cpus是一种更方便的替代方法
5、--cpu-shares
1)设置CPU权重。默认值为1024。
2)当CPU资源充足时,设置CPU的权重没有意义。只有在容器争用CPU资源的情况下,CPU的权重才能让不同的CPU用量
下一篇:用docker运行postgreSQL的方法步骤