当前位置: 首页 > news >正文

石家庄建设网站永城网站建设

石家庄建设网站,永城网站建设,网站的建设时间,实体店面做网站推广要多少钱cgroups 资源限制#xff08;二#xff09;#xff1a;组织结构与基本规则、子系统简介 1.组织结构与基本规则2.子系统简介 1.组织结构与基本规则 在之前的博客已经介绍过#xff0c;传统的 Unix 任务管理#xff0c;实际上是先启动 init 任务作为根节点#xff0c;再由… cgroups 资源限制二组织结构与基本规则、子系统简介 1.组织结构与基本规则2.子系统简介 1.组织结构与基本规则 在之前的博客已经介绍过传统的 Unix 任务管理实际上是先启动 init 任务作为根节点再由 init 节点创建子任务作为子节点而每个子节点又可以创建新的子节点如此往复形成一个树状结构。而系统中的多个 cgroup 也构成类似的树状结构子节点从父节点继承属性。 它们最大的不同在于系统中的多个 cgroup 构成的层级并非单根结构可以允许存在多个。如果任务模型是由 init 作为根节点构成的一棵树那么系统中的多个 cgroup 则是由多个层级构成的森林。这样做的目的很好理解如果只有一个层级那么所有的任务都将被迫绑定其上的所有子系统这会给某些任务造成不必要的限制。在 Docker 中每个子系统独自构成一个层级这样做非常易于管理。 了解了 cgroups 的组织结构再来了解 cgroups、任务、子系统、层级四者间的关系及其基本规则。 规则 1同一个层级可以附加一个或多个子系统。如下图所示CPU 和 Memory 的子系统附加到了一个层级。 规则 2一个子系统可以附加到多个层级当且仅当目标层级只有唯一一个子系统时。下图中小圈中的数字表示子系统附加的时间顺序CPU 子系统附加到层级 A 的同时不能再附加到层级 B因为层级 B 已经附加了内存子系统。如果层级 B 没有附加过内存子系统那么 CPU 子系统同时附加到两个层级是允许的。 规则 3系统每次新建一个层级时该系统上的所有任务默认加入这个新建层级的初始化 cgroup这个 cgroup 也被称为 root cgroup。对于创建的每个层级任务只能存在于其中一个 cgroup 中即一个任务不能存在于同一个层级的不同 cgroup 中但一个任务可以存在于不同层级中的多个 cgroup 中。如果操作时把一个任务添加到同一个层级中的另一个 cgroup 中则会将它从第一个 cgroup 中移除。在下图中可以看到httpd 任务已经加入到层级 A 中的 /cg1而不能加入同一个层级中的 /cg2但是可以加入层级 B 中的 /cg3。 规则 4任务在 fork/clone 自身时创建的子任务默认与原任务在同一个 cgroup 中但是子任务允许被移动到不同的 cgroup 中。即 fork/clone 完成后父子任务间在 cgroup 方面是互不影响的。下图中小圈中的数字表示任务出现的时间顺序当 httpd 刚 fork 出另一个 httpd 时两者在同一个层级中的同一个 cgroup 中。但是随后如果 ID 为 4840 的 httpd 需要移动到其他 cgroup 也是可以的因为父子任务间已经独立。总结起来就是初始化时子任务与父任务在同一个 cgroup但是这种关系随后可以改变。 2.子系统简介 子系统实际上就是 cgroups 的资源控制系统每种子系统独立地控制一种资源目前 Docker 使用如下 9 种子系统其中net_cls 子系统在内核中已经广泛实现但是 Docker 尚未采用Docker 在网络方面的控制方式将在后续详细介绍以下是它们的用途。 blkio可以为块设备设定输入 / 输出限制比如物理驱动设备包括磁盘、固态硬盘、USB 等。cpu使用调度程序控制任务对 CPU 的使用。cpuacct自动生成 cgroup 中任务对 CPU 资源使用情况的报告。cpuset可以为 cgroup 中的任务分配独立的 CPU此处针对多处理器系统和内存。devices可以开启或关闭 cgroup 中任务对设备的访问。freezer可以挂起或恢复 cgroup 中的任务。memory可以设定 cgroup 中任务对内存使用量的限定并且自动生成这些任务对内存资源使用情况的报告。perf _event使用后使 cgroup 中的任务可以进行统一的性能测试。net_clsDocker 没有直接使用它它通过使用等级识别符classid标记网络数据包从而允许 Linux 流量控制程序Traffic ControllerTC识别从具体 cgroup 中生成的数据包。 上述子系统如何使用虽然很重要但是 Docker 并没有对 cgroup 本身做增强容器用户一般也不需要直接操作 cgroup所以这里我们只大致说明一下操作流程让大家有一个感性的认识。 Linux 中 cgroup 的实现形式表现为一个文件系统因此需要 mount 这个文件系统才能够使用也有可能已经 mount 好了挂载成功后就能看到各类子系统。 以 cpu 子系统为例先看一下挂载了这个子系统的控制组下的文件。 在 /sys/fs/cgroup 的 cpu 子目录下创建控制组控制组目录创建成后它下面就会有很多类似的文件了。 下面的例子展示了如何限制 PID 为 18828 的进程的 cpu 使用配额 和 其实都属于输出重定向都可以输出内容到指定文件。 会覆盖目标的原有内容当文件存在时会先删除原文件再重新创建文件然后把内容写入该文件即清空了原文件否则直接创建文件。 会在目标原有内容后追加内容当文件存在时直接在文件末尾进行内容追加不会删除原文件否则直接创建文件。 在 Docker 的实现中Docker daemon 会在单独挂载了每一个子系统的控制组目录比如 /sys/fs/cgroup/cpu下创建一个名为 docker 的控制组然后在 docker 控制组里面再为每个容器创建一个以容器 ID 为名称的容器控制组这个容器里的所有进程的进程号都会写到该控制组 tasks 中并且在控制文件比如 cpu.cfs_quota_us中写入预设的限制参数值。综上docker 组的层级结构如下。 关于 Docker 如何实现 cgroup 的配置的问题将会在后续有关 libcontainer 的博客里解释。
http://wiki.neutronadmin.com/news/355057/

相关文章:

  • 功能型网站介绍深圳最好的网站建设
  • 如何做网站管理贵州建设厅文件网站首页
  • 小昆山网站建设营销型网站的建设软文
  • aspcms 网站标签调用企业网站怎么优化
  • 临沂网站seo南宁住房和城乡建设部网站
  • 重庆网站建设cq600做网站推广的联系方式
  • asp.net 手机网站模板自驾旅游服务网站开发文献综述
  • 北京专业网站外包公司全屋定制网络平台
  • 泰州哪里有做网站的网络公司4000-26iis建立好网站 怎么打开
  • ajax做购物网站网站建设步骤图
  • 安徽城乡建设网站学校建设网站的目的
  • 有哪些比较好的做ppt好的网站wordpress 不能提交评论
  • 做百度移动网站排网络推广的方法有哪些
  • 通辽做网站通过seo来赚钱佛山市建设网站
  • 济南万速网站建设网站改造
  • 网站找图片做海报侵权wordpress图片集
  • 网站开发与管理专业怎么样在服务器上建设网站
  • 如何做公司网站简介铜仁市建设局网站
  • 设计网站大全有哪些io域名购买
  • 2015年做啥网站能致富软件项目管理论文
  • 重庆唐卡装饰公司9个广州seo推广神技
  • 企业网站建设的实验报告国外网站怎么做引流
  • 高端网站建设品牌中企动力科技股份有限公司贵阳分公司
  • 哪里有网站app制作山西运城网站开发
  • 济南电子商务网站开发有哪些公司
  • 济南市公众号网站建设免费申请一个微信号
  • 个人做考试类网站施工企业会计核算及常用会计分录
  • 网站建设模块分析网址注册局
  • 缔客网络上海响应式网站建设wordpress下载资源
  • 厦门网站设计建设坪山网站开发