歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux的cgroup

Linux的cgroup

日期:2017/2/28 14:43:48   编辑:Linux教程

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

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

如何安裝cgroup

安裝cgroup:

apt-get install cgroup-bin

Copyright © Linux教程網 All Rights Reserved