当前位置:K88软件开发文章中心电脑基础基础应用04 → 文章内容

Linux如何安装及配置Cgroup

减小字体 增大字体 作者:华军  来源:华军资讯  发布时间:2019-1-31 0:00:07

  Linux系统中经常有个需求就是希望能限制某个或者某些进程的分配资源。也就是能完成一组容器的概念,在这个容器中,有分配好的特定比例的cpu时间,IO时间,可用内存大小等。于是就出现了cgroup的概念,cgroup就是controller group,最初由google的工程师提出,后来被整合进Linux内核中。  Cgroup是将任意进程进行分组化管理的Linux内核功能。cgroup本身提供将进程进行分组化管理的功能和接口的基础结构。  而后的Android操作系统也就凭借着这个技术,为每个应用程序分配不同的cgroup,将每个程序进行隔离,达到了一个应用程序不会影响其他应用程序环境的目的。  概念  task:  一个进程  control group:  控制族群,按照某种标准划分的进程组  hierarchy:  层级,control group可以形成树形的结构,有父节点,子节点,每个节点都是一个control group,子节点继承父节点的特定属性。  subsystem:  子系统。  子系统就是资源控制器,每种子系统就是一个资源的分配器,比如cpu子系统是控制cpu时间分配的。  可以使用lssubsys -al来列出系统支持多少种子系统,和使用ls /sys/fs/cgroup/ (Ubuntu)来显示已经挂载的子系统:  可以看到这里的几个子系统,比如cpu是控制cpu时间片的,memory是控制内存使用的。  如何安装cgroup  安装cgroup:  apt-get install cgroup-bin  如何为cgroup分配限制的资源  首先明白下,是先挂载子系统,然后才有control group的。意思就是比如想限制某些进程的资源,那么,我会先挂载memory子系统,然后在memory子系统中创建一个cgroup节点,在这个节点中,将需要控制的进程id写入,并且将控制的属性写入。  拿memory子系统为例:  通过查看cgroup的配置文件:  cat /etc/cgconfig.conf  看到memory子系统是挂载在目录/sys/fs/cgroup/memory下  进入这个目录  创建一个文件夹,就创建了一个control group了  mkdir test  以上就是Linux如何安装及配置Cgroup的全部内容了,希望可以帮到有需要的小伙伴们。 

Linux如何安装及配置Cgroup