内容简介:原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!原文链接地址:对于容器的资源限制,在容器出来之前有虚拟化技术,我们可以在一个物理机上创建很多虚拟机,对于一台物理机来讲他的cpu和内存都是配置有限的,对于虚拟机我们在配置的时候也是可以进行限定的。本节跟上节关联比较紧密,建议一起学习。
原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址: 『中级篇』容器的资源限制(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 底层的核心技术包括
- Linux 上的命名空间(Namespaces)
- 控制组(Control groups)做资源限制
- Union 文件系统(Union file systems)
- 容器格式(Container format)分层
以上所述就是小编给大家介绍的《『中级篇』容器的资源限制(22)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Docker 容器实战(六):容器的隔离与限制
- JVM如何获取当前容器的资源限制
- 如何限制 docker run 容器执行时长?
- 容器中的JVM资源该如何被安全的限制?
- 容器中的JVM资源该如何被安全的限制?
- 容器中的JVM资源该如何被安全的限制?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。