前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >『中级篇』容器的资源限制(22)

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

作者头像
IT架构圈
发布2018-08-01 14:15:22
3110
发布2018-08-01 14:15:22
举报
文章被收录于专栏:IT架构圈IT架构圈

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

虚拟机配置
  • 内存配置
  • CPU 配置
容器配置

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

  • 内存控制
代码语言:javascript
复制
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容器

代码语言:javascript
复制
>cpu权限10,名字test11,PID是4342
docker run --cpu-shares=10 --name=test11 liming/ubuntu-stress --cpu 1

B容器

代码语言:javascript
复制
>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)分层

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程坑太多 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 虚拟机配置
  • 容器配置
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档