加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Docker 容器资源限制

发布时间:2020-12-16 03:55:51 所属栏目:安全 来源:网络整理
导读:h1 id="docker-容器资源限制"Docker 容器资源限制 默认情况下,一个容器并没有资源限制,并且该容器可以使用内核调度的所有资源。Docke提供了在启动容器时设置一些参数来控制该容器使用的内存、CPU和IO。 OOME :在linux中,如果Linux内核发现宿主机没有足够

<h1 id="docker-容器资源限制">Docker 容器资源限制

默认情况下,一个容器并没有资源限制,并且该容器可以使用内核调度的所有资源。Docke提供了在启动容器时设置一些参数来控制该容器使用的内存、CPU和IO。

OOME:在linux中,如果Linux内核发现宿主机没有足够的内存来调用执行系统的某些重要功能的时候,此时就会调用OOME(Out Of Memory Exception)来杀死某些进程,以此来释放内存。

  • 一旦发生OOME,任何进程都有可能被杀死,包括docker daemon,因此Docker调整了Docker daemon的OOM优先级,防止其被杀死,但是容器的OOM并没有调整,此时如何内存不够用时,内核就会根据自己的调度算法,给所有的进程进行一个评分,然后杀死分数最高的进程来释放内存。

限制容器使用的内存资源

-m or --memory=n : 限制一个容器可以使用的最大内存,单位(b,k,m,g)
--memory-swap * : 限制一个容器可以使用的交换分区的大小,前提是必须先设置-m才能生效。
--memory-swappiness:设置容器的swap控制行为。值为0-100
--memory-reservation:设置内存的软限制
--kernel-memory:设置核心内存的最大值
--oom-kill-disable:是否阻止OOM 杀死容器,默认为否。

--memory-swap的总结:
--memory-swap --memory
功能描述
正数S 正数M 容器可以使用的总空间为S,ram为M,swap为(S-M),如果S=M,则没有swap资源
0 正数M 相当于没有设置swap
unset 正数M 如果Docker host启动了swap,则容器可用的 swap为2M
-1 正数M 如果Docker host启用了swap,则容器可以使用最大swap为Docker host上的所有swap空间的资源。
在容器中,free所展现出来的swap分区是无效的*

默认情况,每个容器都可以使用系统的所有CPU资源。但是我们可以通过使用CFS调度器来分配容器使用的CPU资源。
CFS调度器配置

--cpus=:指定容器可以使用的CPU的核心数量
--cpu-period=: 指定CPU CFS的调度周期,默认是100ms
--cpu-quota=: 限制CPU CFS的配额。
--cpuset-cpus: 限制使用的CPU的集合,如有四个CPU,0-3则代表全部可以使用;1,3表示可以使用第二个和第四个。
--cpu-shares: 按比例切分CPU资源(CPU共享的权重)

使用docker提供的压测工具:docker pull lorel/docker-stress-ng
使用方法:

Example: stress-ng --cpu 8 --io 4 --vm 2 --vm-bytes 128M --fork 4 --timeout 10s

这里使用--cpu-shares按照比例来切分CPU资源,3个容器使用的CPU占比为512、1024、2048,比例为1:2:4

docker run --name stress -it --rm --cpu-shares 512 lorel/docker-stress-ng stree-ng --cpu 4
docker run --name stress1 -it --rm --cpu-shares 1024 lorel/docker-stress-ng stree-ng --cpu 4
docker run --name stress2 -it --rm --cpu-shares 2048 lorel/docker-stress-ng stree-ng --cpu 4
# docker stats

可以看到各个容器之间的cpu占比大概为1:2:4。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读