docker CPU限制的实现

(编辑:jimmy 日期: 2024/12/23 浏览:2)

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 CPU限制的实现

查看容器的资源状态

docker stats 08e1adecf3b7

docker CPU限制的实现

查看服务器的CPU资源(由于测试服务器还有其他服务在使用,CPU资源比极高,正常是25%左右)

top

docker CPU限制的实现

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用量