cgroups

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/smilesundream/article/details/85240707

参考:https://tech.meituan.com/cgroups.html

使用场景

     限制进程对cpu、mem等资源的使用,比如限制某个进程在八核机器上最多使用六核

Cgroups子系统

  1. cpu子系统:限制进程的cpu使用率
  2. cpuset子系统:为进程分配单独的cpu节点或者内存节点
  3. memory子系统:限制进程的mem使用率
  4. devices子系统:限制进程能够访问哪些设备
  5. freezer:挂起或者恢复进程

Cgroups层级结构

cgroups层级结构可以attach一个或者几个cgroup子系统,并且当前层级结构可以对其attach的cgroups子系统进行资源限制。

当创建了cgroups层级结构中的节点之后,可以把进程加入到某个某个节点,则该进程会受到这个节点的资源限制。

进程通过css_set与Cgroups节点连接。

一个css_set可以连接多个cgroup,但是只能连接同一个cgroup下的一个节点

VFS

隐藏文件系统实现细节,提供给进程的一个文件系统接口

包含数据结构:

  1. 超级块对象:存放ext2、ext3等磁盘文件系统信息
  2. inode:存放具体文件信息,比如文件在磁盘上的存储块信息
  3. 文件对象:一个文件对象对应进程打开的一个文件,其中定义了文件的读写操作等方法
  4. 目录项对象:主要用于文件查找

猜你喜欢

转载自blog.csdn.net/smilesundream/article/details/85240707