3.3. コントロールグループの作成
cgcreate コマンドを使用して、自分で作成した階層に一時的な cgroup を作成します。cgcreate の構文は次のとおりです。
cgcreate-t
uid:gid-a
uid:gid-g
controllers:path
ここでは、以下のようになります。
-t
(オプション) — この cgroup のタスク
疑似ファイルを所有するユーザー (ユーザー ID、uid) とグループ (グループ ID、gid) を指定します。このユーザーは、cgroup にタスクを追加できます。注記cgroup からプロセスを削除する唯一の方法は、プロセスを別の cgroup に移動することです。プロセスを移動できるようにするには、ユーザーは移動 先 の cgroup への書き込みアクセス権を持っている必要があります。ソース cgroup への書き込みアクセスは必要ありません。-a
(オプション) — この cgroup のタスク
以外のすべての疑似ファイルを所有するユーザー (ユーザー ID、uid による) およびグループ (グループ ID、gid による) を指定します。このユーザーは、この cgroup 内のタスクのシステムリソースへのアクセスを変更できます。-g
— 階層に関連付けられた コントローラー のコンマ区切りのリストとして、cgroup を作成する階層を指定します。コントローラーのリストの後には、コロンと、階層に関連する子グループへの パス が続きます。パスに階層マウントポイントを含めないでください。
同じ階層内のすべての cgroup は同じコントローラーを持っているため、子グループはその親と同じコントローラーを持っています。
別の方法として、cgroup の子を直接作成することもできます。これを行うには、mkdir コマンドを使用します。
~]# mkdir /sys/fs/cgroup/controller/name/child_name
以下に例を示します。
~]# mkdir /sys/fs/cgroup/net_prio/lab1/group1