docker 资源控制

docker 资源控制

为了合理的分配cpu,内存等资源,防止个别容器占用过多的资源,我们可以使用cgroup对单个容器进行可使用资源控制。

cat /sys/fs/cgroup/cpu/docker/容器id/cpu.cfs_quota_us #查看容器可用资源限制

#-1 代表资源不受控制。

#cpu周期:1s为一个周期定律,参数值一般为100000,加入要给此容器分配20%的cpu使用率,就设置参数值为20000,相当于每个周期分配给这个容器0.2秒
在这里插入图片描述

限定方式

1.创建容器时限定

docker run -it --name ph5 --cpu-quota 30000 centos /bin/bash

yum install -y bc

echo “scale=5000;4*a(1)” | bc -l -q #压测,计算圆周率

#查看cpu使用率
在这里插入图片描述

2.对已有容器限制

echo “20000” > 容器id/cpu.cfs_quota_us

3.设置容器权重

按比例分配,设置容器权重,此处权重时所有值相加,再看占用百分比

docker run -itd --name ph11 --cpu-shares 1024 centos /bin/bash

docker run -itd --name ph22 --cpu-shares 512 centos /bin/bash

docker exec -it ph11 /bin/bash #分别进入两个容器

yum install epel-release -y

yum install stress -y #stress模拟满载线程

strss -c 4 #cpu数量

docker stats #在宿主机上查看
在这里插入图片描述

4.限制容器使用的cpu

docker run -itd --name ph111 --cpuset-cpus 1,3 centos /bin/bash #指定使用2,4cpu

限定容器使用内存

docker run -itd --name ph111 -m 512m centos /bin/bash

限定容器使用IO

docker的IO限制就是对block的IO进行约束

控制数据量用的越多,其中I控制IO次数使用的越少

–device-read-bps:限制读某个设备bps(数据量)

docker run -itd --device-read-bps /dev/sda:30M centos /bin/bash

–device-write-bps:限制读某个设备bps(数据量)

docker run -itd --device-write-bps /dev/sda:30M centos /bin/bash

–device-read-iops:限制读某个设备iops(次数)

–device-write-iops:限制写入某个设备的iops(次数)

device-read-iops:限制读某个设备iops(次数)

–device-write-iops:限制写入某个设备的iops(次数)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值