Show Table of Contents
2.2. 建立階層和連接子系統
警告
下列指示涵蓋了建立新階層,並將子系統連至此階層的指示,它假設了控制群組尚未配置於您的系統上。在此情況下,這些指示將不會影響系統的作業。然而,更改一個含有工作的控制群組的可調整參數,則會即刻影響這些工作。本指南會在第一次更改可能會影響一或更多項工作的可調整控制群組參數時,進行警告。
在一部已(透過手動式或
cgconfig 服務)配置了控制群組的系統上,這些指令將會失敗,除非您先將會影響系統作業的既有階層卸載。請勿在生產系統上試驗這些指示。
若要建立一個階層,並將子系統連至該階層,請以 root 身份編輯
/etc/cgconfig.conf 檔案的 mount 部份。mount 部份中的項目格式如下:
子系統 = /cgroup/階層;
當
cgconfig 下次啟用時,它將會建立階層,並將子系統連接至該階層。
下列範例會建立一個名為
cpu_and_mem 的階層,並將 cpu、cpuset、cpuacct,以及 memory 子系統連接至此階層。
mount {
cpuset = /cgroup/cpu_and_mem;
cpu = /cgroup/cpu_and_mem;
cpuacct = /cgroup/cpu_and_mem;
memory = /cgroup/cpu_and_mem;
}額外方式
您亦可使用 shell 指令和工具程式來建立階層,並將子系統連至它們。
以 root 身份為階層建立「掛載點」。請在掛載點中包含控制群組的名稱:
~]# mkdir /cgroup/name
例如:
~]# mkdir /cgroup/cpu_and_mem
接下來,請使用
mount 指令來掛載階層,並同時連接一個或更多個子系統。例如:
~]# mount -t cgroup -o subsystems name /cgroup/name
subsystems 是個以逗號區隔開的子系統清單,而 name 代表階層的名稱。所有可用子系統的詳細描述列在 Red Hat Enterprise Linux 中的可用子系統 中,並且 章 3, 子系統和可調整的參數 提供了詳細的參照。
範例 2.3. 使用掛載指令來連接子系統
在此範例中,有個名為
/cgroup/cpu_and_mem 的目錄已存在,它會被作為是我們所建立之階層的掛載點。我們將 cpu、cpuset 和 memory 子系統連至一個我們命名為 cpu_and_mem 的階層,並 mount cpu_and_mem 階層於 /cgroup/cpu_and_mem 上:
~]# mount -t cgroup -o cpu,cpuset,memory cpu_and_mem /cgroup/cpu_and_mem
您可透過
lssubsys 指令列出所有可用子系統,以及其目前的掛載點(比方說,它們所連至的階層的掛載位置)[3]:
~]# lssubsys -am
cpu,cpuset,memory /cgroup/cpu_and_mem
net_cls
ns
cpuacct
devices
freezer
blkio
此輸出顯示了:
cpu、cpuset和memory子系統連至了一個掛載於/cgroup/cpu_and_mem上的階層,並且- 基於缺少相對映的掛載點,
net_cls、ns、cpuacct、devices、freezer以及blkio子系統尚未連至任何階層。
[3]
lssubsys 指令為 libcgroup 套件所提供的工具程式之一。您必須安裝 libcgroup 才可使用它:若您無法執行 lssubsys,請參閱〈章 2, 使用控制群組〉。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.