『中级篇』容器的资源限制(22)

作者: IT人故事会 | 来源:发表于2018-06-25 23:03 被阅读22次

对于容器的资源限制,在容器出来之前有虚拟化技术,我们可以在一个物理机上创建很多虚拟机,对于一台物理机来讲他的cpu和内存都是配置有限的,对于虚拟机我们在配置的时候也是可以进行限定的。本节跟上节关联比较紧密,建议一起学习。

虚拟机配置

  • 内存配置
  • CPU 配置
image.png

容器配置

为什么配置容器,给大家说个很实际的例子,如果一个虚拟机里面就一个容器,切这个容器不设置CPU和内存,当容器内的应用一直在运行的时候,它会一直慢慢的吞噬宿主机上的cpu和内存,最终导致的结果是,容器直到占满整个内存。这就是不限制的恐怖之处。

  • 内存控制
docker image ls
#限定运行内存是200M+虚拟内存200M 结果是内存是400M,
#通过stress 设置一个一个测试的使用内存是500M,
#也就是400M的内存运行一个要使用500M内存的应用效果是什么? 
docker run --memory=200M liming/unbuntu-stress --vm 1 --verbose --vm-bytes 500M
  • CPU控制

--cpu-share,就是cpu的权重,如果一个物理机里面有2个容器,A 权重是10,B的权重是5,2个容器占满了整个CPU100%,A占用了整个CPU的66%,B占用了整个CPU的33%。启动2个容器,看看效果,不要光说不练,实践才能出真知。

A容器

>cpu权限10,名字test11,PID是4342
docker run --cpu-shares=10 --name=test11 liming/ubuntu-stress --cpu 1

B容器

>cpu权限5,名字test22,PID是4395
docker run --cpu-shares=5 --name=test22 liming/ubuntu-stress --cpu 1

A,B容器的对比

发现是不是容器A占用了66.6%,B占用了33.3%,这就是CPU权重的重要性


PS:Docker 底层的核心技术包括

  1. Linux 上的命名空间(Namespaces)
  2. 控制组(Control groups)做资源限制
  3. Union 文件系统(Union file systems)
  4. 容器格式(Container format)分层

往期精彩
  1. docker导学(一)
  2. 容器的技术概述(二)
  3. docker的魅力初体验-5分钟安装wordpress不走弯路(三)
  4. docker官网介绍(四)
  5. 如何在mac上安装docker(五)
  6. 如何在window上安装docker(六)
  7. 如何在mac上通过vagrant安装虚拟机(七)
  8. 如何在window上通过vagrant安装虚拟机(八)
  9. docker-Machine的本地使用(九)
  10. docker-Machine的本地使用(十)
  11. 在linux/mac下通过Docker-Machine在阿里云上的使用(11)
  12. docker架构和底层技术(12)
  13. docker Image概述(13)
  14. 手动建立一个base Image(14)
  15. 什么是Container(15)
  16. 构建自己的Docker镜像(16)
  17. Dockerfile详解(17)
  18. 镜像的发布(18)
  19. Dockerfile实战(19)
  20. 容器的操作(20)
  21. Dockerfile实战CMD和ENTRTYPOINT的配合(21)

相关文章

  • 『中级篇』容器的资源限制(22)

    对于容器的资源限制,在容器出来之前有虚拟化技术,我们可以在一个物理机上创建很多虚拟机,对于一台物理机来讲他的cpu...

  • 容器的资源限制

    在上一篇文章中我们初步学会使用了stress这个工具,稍微回顾一下我们的Dockerfile 很明显通过这个Doc...

  • Docker-容器

    容器 进入容器方法 其余操作 资源限制 内存 Swap是什么 CPU IO读写限制 容器实现的底层技术 cgrou...

  • Docker的系统资源限制及验证

    1、限制容器的资源 默认情况下,容器没有资源限制,可以使用主机内核调度程序允许的尽可能多的给定资源。Docker提...

  • 如何设置Docker容器中Java应用的内存

    Dokcer 容器如何限制内存 我们知道docker使用Linux内核的 CGroup 来实现限制容器的资源使用...

  • 容器实战

    认识容器 Namespace帮助容器来实现各种计算资源的隔离,Cgroups主要限制的是容器能够使用的某种资源量。...

  • K8S-[一]Pod调度

    Pod中影响调度的主要属性 一.调度依据 resources--资源限制 resources分为 容器资源限制(该...

  • docker 容器资源限制

    限定memory docker run --memory=200M jack/ubuntu-stress --vm...

  • docker容器资源限制

    选项 描述 -m,–memory 容器可以使用的最大内存量 –memory-swap 允许交换到磁盘的内存量 –m...

  • docker容器资源限制

    示例: 内存限额: 允许容器最多使用500M内存和100M的Swap,并禁用 OOM Killer: docker...

网友评论

    本文标题:『中级篇』容器的资源限制(22)

    本文链接:https://www.haomeiwen.com/subject/kljueftx.html