首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cgroups和命名空间之间的差异

cgroups和命名空间之间的差异
EN

Stack Overflow用户
提问于 2016-01-15 21:57:48
回答 2查看 39.4K关注 0票数 128

我最近开始学习docker,看起来大部分的工作都是由Linux内核完成的,使用名称空间和cgroup。

有几件事让我感到困惑:

  1. 名称空间和cgroup之间有什么区别?他们所处理的不同用例是什么?
  2. 对接者在这上面实施了什么来获得人气?
  3. 我想知道这些特性的内部结构以及它们是如何实现的。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-16 08:51:17

这两个概念的正确链接已在PR 14307中修复。

在引擎盖下,Docker建立在以下组件上: Linux内核的C组namespaces功能

通过以下方式:

  • cgroup:控制组提供了一种机制,用于将一组任务及其所有未来的子任务聚集/划分为具有专门行为的层次化组。
  • 命名空间:将全局系统资源包装在抽象中,使名称空间内的进程看起来它们拥有自己的全局资源的独立实例。

简言之:

  • =限制您可以使用的数量;
  • 名称空间=限制您可以看到的内容(因此使用)

更多见"容器的剖析:名称空间,cgroup&一些文件系统魔术“,由Jér me Petazzoni

Cgroup涉及资源计量和限制:

  • 内存
  • CPU
  • I/O区块
  • 网络

命名空间为进程提供了他们自己对系统的看法。

多个名称空间:

票数 164
EN

Stack Overflow用户

发布于 2017-10-26 07:05:04

cgroup限制了进程或进程集合可以使用的资源,这些资源可以是CPU、内存、网络I/O或对文件系统的访问,而命名空间则将进程组的可见性限制在系统的其他部分。

欲了解更多细节,请访问Linux内核组和名称空间如何使现代容器成为可能

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34820558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档