萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux如何安裝及配置Cgroup

Linux如何安裝及配置Cgroup

  Cgroup全稱control groups,可用來限制、記錄、隔離進程組的物理資源,下面小編將針對Cgroup在Linux上的安裝和配置做個詳細介紹,對Cgroup感興趣的朋友可以來學習下。

  為什麼要有cgroup

  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)來顯示已經掛載的子系統:

 Linux如何安裝及配置Cgroup

  可以看到這裡的幾個子系統,比如cpu是控制cpu時間片的,memory是控制內存使用的。

  如何安裝cgroup

  安裝cgroup:

  apt-get install cgroup-bin

  如何為cgroup分配限制的資源

  首先明白下,是先掛載子系統,然後才有control group的。意思就是比如想限制某些進程的資源,那麼,我會先掛載memory子系統,然後在memory子系統中創建一個cgroup節點,在這個節點中,將需要控制的進程id寫入,並且將控制的屬性寫入。

  拿memory子系統為例:

  通過查看cgroup的配置文件:

  cat /etc/cgconfig.conf

 Linux如何安裝及配置Cgroup

  看到memory子系統是掛載在目錄/sys/fs/cgroup/memory下

  進入這個目錄

  創建一個文件夾,就創建了一個control group了

  mkdir test

上一頁12下一頁共2頁

  發現test目錄下自動創建了許多文件:

 Linux如何安裝及配置Cgroup

  這些文件的含義如下:

 Linux如何安裝及配置Cgroup

  於是,限制內存使用我們就可以設置memory.limit_in_bytes

 Linux如何安裝及配置Cgroup

  將一個進程加入到這個test中

  echo $$ 》 tasks

  這樣就將當前這個終端進程加入到了內存限制的cgroup中了。

  將這個cgroup刪除只要刪除目錄就行了

  rmdir test

  上面就是Linux安裝及配置Cgroup的方法介紹了,本文主要介紹了為Cgroup分配限制資源的方法,以及Cgroup的安裝和作用。

上一頁12 下一頁共2頁
copyright © 萬盛學電腦網 all rights reserved