『中级篇』容器的资源限制(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)分层

image

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

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

发表于

我来说两句

3 条评论
登录 后参与评论

相关文章

来自专栏Hadoop实操

如何使用Cloudera Manager监控服务

2063
来自专栏北京马哥教育

MogileFS基于Nginx反向代理实现分布式存储与访问

前言 随着信息社会的发展,越来越多的信息被数据化,尤其是伴随着大数据时代的来临,数据呈爆炸式增长。传统存储在面对海量数据存储表现出的力不从心已经是不争的事实,例...

3358
来自专栏蓝天

Linux后台开发常用工具

pwdx - report current working directory of a process,格式:pwdx pid 内存分析工具 v...

992
来自专栏小车博客

电脑蓝屏代码大全

编号 代码 含意 0 0x00000000 作业完成。 1 0x00000001 不正确的函数。 2 0x00000002 系统找不到指定的档案。 3 0x0...

972
来自专栏Laoqi's Linux运维专列

Docker 空间使用分析与清理

2124
来自专栏编程坑太多

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

812
来自专栏北京马哥教育

用Kibana和logstash快速搭建实时日志查询、收集与分析系统

日志的分析和监控在系统开发中占非常重要的地位,系统越复杂,日志的分析和监控就越重要,常见的需求有: 根据关键字查询日志详情 监控系统的运行状况 统计分析,比如接...

2675
来自专栏Linyb极客之路

Mysql max_allowed_packet自动重置为1024的情况

前几天在群里有个朋友问到max_allowed_packet被自动重置的问题,于是打算写个文章来描述下,因为遇到这个问题的人不少,但是提到的解决方案几乎没有。

902
来自专栏小狼的世界

HP-UX培训学习笔记

HP-UX操作系统全称为Hewlett Packard UniX,是惠普服务器上所有的操作系统。其发源自 AT & T SRV4系统,可以支持HP的PA-RIS...

592
来自专栏大数据智能实战

the directory item limit is exceed: limit=1048576问题的解决

当spark流式数据分析处理跑了一段时间之后,突然会出现报错,如下: 意思就是目录超过了HDFS的文件个数限制。 ? 然而这个问题网上真的不太好找,在定位一番之...

19610

扫码关注云+社区