一、NameSpace

1. 介绍

NameSpace 其实就是一种隔离机制,主要目的是隔离运行在同一个宿主机上的容器,让这些容器之间不能访问彼此的资源。
这种隔离有两个作用:第一可以充分地利用系统的资源,也就是说同一台宿主机上可以运行多个用户的容器;第二是保证了安全性,因为不同的用户之间不能访问对方的资源。

2. 常见的NameSpace 类型

  • PID Namespace 负责隔离不同的容器的进程
  • Network NameSpace 负责管理网络环境的隔离
  • Mount Namespace 管理文件系统的隔离

    二、Cgroups

    1. 介绍

    Cgroups 可以对指定的进程做各种计算资源的限制,比如限制CPU的使用率,内存使用量,IO设备的流量。
    Cgroups 通过不同的子系统限制了不同的资源,每个子系统限制一种资源。每个子系统限制资源的方式都是类似的,就是把相关的一组进程分配到一个控制组里,然后通过树结构进行管理,每个控制组都设有自己的资源控制参数。

2. 常用的Cgroups 类型

  • CPU子系统 用来限制一个控制组(一组进程)可使用的最大的CPU
  • memory 子系统 用来限制一个控制组最大的内存使用量
  • pids子系统 用来限制一个控制组里最多可以运行多少个进程
  • cpuset子系统 限制一个控制组里的进程可以在哪几个物理CPU上运行