码迷,mamicode.com
首页 > 其他好文 > 详细

Docker资源限定

时间:2018-11-12 11:31:27      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:内核   资源   name   法规   unset   -name   内存   ppi   启用   

Memory --OOME 一旦发生OOME,任何进程都有可能被杀死,包括docker daemon 为此docker特地调整了docker daemon的OOM优先级,以免它被内核"正法" 但容器的优先级并未被调整! 限制容器可以使用的内存资源: 默认是没有限制! -m/--memory --限制容器可用的内存空间 .............................................. --memory-swap k|b|m|g 限制交换分区使用大小,要先设置-m选项 用法规则: -m的值为正数M时,--memory-swap 也是正数S时 容器可用总空间大小为S,其中ram为M,swap为(S-M) 若S=M则无可用swap资源 都设置有值时--memory-swap的值要大于-m 当-m等于正数M时--memory-swap为0时,相当于未设置swap 当-m等于正数时--memory-swap为unset 若主机启用了swap 则容器的可用swap为2*M unset=未设置 当-m为正数M时,--memory-swap 为-1 若主机启用了swap 则容器可使用最大至主机上所有swap空间资源 注意: 在容器内使用free命令可以看到的swap空间并不具有其 所展现出的空间指标意义! ................................................ --memory-swappiness [0--100] 0=能不用就不用交换分区 值越高就表示启用的优先级越高 --memory-reservation --设置预留内存空间 --kernel-memory -- --oom-kill-disable true/false 设置如果不想因为分配内存空间用尽而使得容器被杀死 就设置这一项的值为true ..................................................... CPU设置: 容器可以使用宿主机上所有cpu资源! CFS---算法 cpu数量小于进程数 --cpu-shares [1024] cpu资源共享 ---设置一个比例,容器都需要时,按比例分配 如果一个需要其它不需要,就可以都分配给需要的那个容器 --cpus=<value> --限制一个容器最多能使用几核cpu 支持使用小数如0.5 --cpu-period=<value> --cpu-quota=<value> --cpuset-cpus --限制使用cpu范围 定义一个容器只能运行在那个cpu核心上工作! cpu核心数从0开始 --cpuset-cpus 0-2 stress --镜像 https://hub.docker.com --fork [n] --启动几个进程 --vm [n] --启动多少个进程对内存做压测 --cpu [n] --使用几个cpu --io [n] --对io进行分配 --vm-bytes [n] --指定每个进程用多少内存 具体镜像应用: docker run -it --name b1 --rm -m 256m 1ae56ccafe55 stress --vm 2 docker top [容器名称] --查看容器占用资源! docker stats --显示容器资源占用! 对cpu做压测: docker run -it --name b1 --rm -cpus 2 1ae56ccafe55 stress --cpu 4 定义使用的核心数为2 也就是说做压测无论启用多少个进程最多只能占用百分之二百资源 不做限制会直接使用所有cpu资源! 当我启用两个容器并对比例做出要求时: docker run -it --name b1 --rm --cpu-shares 1024 1ae56ccafe55 stress --cpu 4 docker run -it --name b1 --rm --cpu-shares 512 1ae56ccafe55 stress --cpu 4 会按照比例分配cpu资源! .......................................................... 要想容器不会因占用资源过高而被kill: 方法1: --oom-kill-disable=true --直接禁用 方法2: --oom-score-adj [-1000-1000] 把值调整的越小越不容易被kill

Docker资源限定

标签:内核   资源   name   法规   unset   -name   内存   ppi   启用   

原文地址:http://blog.51cto.com/13878078/2315613

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!