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 CPU限制的实现的文章就介绍到这了,更多相关docker CPU限制内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • docker 限制容器对CPU的使用

    上节学习了如何限制容器对内存的使用,本节我们来看CPU. 默认设置下,所有容器可以平等地使用 host CPU 资源并且没有限制. Docker 可以通过-c或--cpu-shares设置容器使用 CPU 的权重.如果不指定,默认值为 1024. 与内存限额不同,通过-c设置的 cpu share 并不是 CPU 资源的绝对数量,而是一个相对的权重值.某个容器最终能分配到的 CPU 资源取决于它的 cpu share 占所有容器 cpu share 总和的比例. 换句话说:通过 cpu shar

  • 详解Docker cpu限制分析

    本文测试了,Docker容器限制cpu资源使用的几个配置参数.分别使用top和dstat命令分析了资源占有情况. package main import ( "flag" "runtime" "fmt" ) func main() { cpunum := flag.Int("cpunum", 0, "cpunum") flag.Parse() fmt.Println("cpunum:",

  • Docker 限制容器可用的CPU的方式

    默认情况下容器可以使用的主机 CPU 资源是不受限制的.和内存资源的使用一样,如果不对容器可以使用的 CPU 资源进行限制,一旦发生容器内程序异常使用 CPU 的情况,很可能把整个主机的 CPU 资源耗尽,从而导致更大的灾难.本文将介绍如何限制容器可以使用的 CPU 资源. 本文的 demo 中会继续使用<Docker: 限制容器可用的内存>一文中创建的 docker 镜像 u-stress 进行压力测试,文中就不再过多的解释了. 限制可用的 CPU 个数 在 docker 1.13 及更高的

  • 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

  • docker日常使用的实用小技巧总结(推荐)

    前言 Docker 是一个能够把开发应用程序自动部署到容器的开源引擎.它由Docker公司的团队编写,基于Apache 2.0开源协议授权.它提供了一个简单.轻量的建模方式,使开发生命周期更高效快速,鼓励了面向服务的架构设计.Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案. Docker 的基础是 Linux 容器(LXC)等技术.在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便.用户操作 Docker 的容器就像操作一个快速轻

  • Docker 限制容器的 Block IO使用

    前面学习了如何限制容器对内存和CPU的使用,本节我们来看 Block IO. Block IO 是另一种可以限制容器使用的资源.Block IO 指的是磁盘的读写,docker 可通过设置权重.限制 bps 和 iops 的方式控制容器读写磁盘的带宽,下面分别讨论. 注:目前 Block IO 限额只对 direct IO(不使用文件缓存)有效. block IO 权重 默认情况下,所有容器能平等地读写磁盘,可以通过设置--blkio-weight参数来改变容器 block IO 的优先级. -

  • Docker 限制容器对内存的使用详解

    一个 docker host 上会运行若干容器,每个容器都需要 CPU.内存和 IO 资源.对于 KVM,VMware 等虚拟化技术,用户可以控制分配多少 CPU.内存资源给每个虚拟机.对于容器,Docker 也提供了类似的机制避免某个容器因占用太多资源而影响其他容器乃至整个 host 的性能. 内存限额 与操作系统类似,容器可使用的内存包括两部分:物理内存和 swap. Docker 通过下面两组参数来控制容器内存的使用量. 1. -m或--memory:设置内存的使用限额,例如 100M,

  • 详解docker搭建redis集群的环境搭建

    本文介绍了docker搭建redis集群的环境搭建,分享给大家,废话不多说,具体如下: 下载镜像 docker pull redis 准备配置文件 mkdir /home/docker/redis/ wget https://raw.githubusercontent.com/antirez/redis/3.0/redis.conf -O /home/docker/redis/redis.conf cd /home/docker/redis/ sed -i 's/# slaveof <maste

  • Docker使用的个人学习总结

    前言 docker是一个开源的容器引擎,它的观点就是服务器上安装有不同的容器 容器内配备单独的cpu和配置环境,当你需要这个环境的时候只需要单独下载容器并且使用就可以了 而且你也可以配置自己的容器,这样的办法 方便了开发人员在更换办公机器的时候为再次搭建复杂的开发环境省去了时间和麻烦,并且重启容器的时间较快只需要一秒,详细构造如下图: 我们最初的模式是a1 服务器内存放着所有的应用 但是如果其中一个应用因为内存过满导致应用崩溃那么服务器都跟着遭殃,所以需要做到应用资源独立,这时用到了a2,一台服

  • Docker安装及基本使用方法详细介绍

    Docker是一个用了一种新颖方式实现的超轻量虚拟机,在实现的原理和应用上还是和VM有巨大差别,专业的叫法是应用容器(Application Container).(我个人还是喜欢称虚拟机) Docker应用容器相对于 VM 有以下几个优点: 启动速度快,容器通常在一秒内可以启动,而 VM 通常要更久 资源利用率高,一台普通PC 可以跑上千个容器,你跑上千个 VM 试试 性能开销小, VM 通常需要额外的 CPU 和内存来完成 OS 的功能,这一部分占据了额外的资源 Docker安装 CentO

随机推荐