Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.3. コントロールグループの作成

cgcreate コマンドを使用して、独自に作成した階層に一時的な cgroup を作成します。cgcreate の構文は以下のようになります。
cgcreate -t uid:gid -a uid:gid -g controllers:path
ここで、
  • -t (オプション) は、ユーザー (ユーザー ID、uid) とグループ (グループ ID、gid) を指定して、この cgroup の tasks 疑似ファイルを所有するためのオプションです。このユーザーは cgroup にタスクを追加することができます。

    注記

    cgroup からタスクを削除するには、異なる cgroup にプロセスを移動するのが唯一の手段である点に注意してください。プロセスを移動するには、ユーザーは 移動先の cgroup への書き込みアクセスが必要となります。元の cgroup への書き込みアクセスは必要ではありません。
  • -a (オプション): ユーザー (ユーザー ID、uid) とグループ (グループ ID、gid) を指定して、この cgroup の tasks 以外の全疑似ファイルを所有するようにします。このユーザーは cgroup 内のタスクについてのシステムリソースへのアクセスを変更できます。
  • -g: cgroup が作成されるべき階層を、それらの階層に関連付けられるコンマ区切りの subsystems 一覧として指定します。コントローラーの一覧の後には、コロンおよび階層に対して相対的な子グループへの path が続きます。このパスには、階層のマウントポイントを入れないでください。
同じ階層内の cgroup はすべて同じコントローラーを持つため、子グループは親グループと同じコントローラーを持つことになります。
代替方法として、cgroup の子を直接作成できます。これを実行するには、mkdir コマンドを使用します。
~]# mkdir /sys/fs/cgroup/controller/name/child_name
例:
~]# mkdir /sys/fs/cgroup/net_prio/lab1/group1