Red Hat Training

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

3.5. cgroup パラメーターの設定

/etc/cgconfig.conf 設定ファイルを編集するか、または cgset コマンドを使用することによりコントロールグループのパラメーターを変更します。/etc/cgconfig.conf に加えられる変更は再起動後も保持され、cgset は現行セッション用にのみ cgroup パラメーターを変更します。

/etc/cgconfig.conf の変更

/etc/cgconfig.confGroups セクションでコントローラーパラメーターを設定できます。グループエントリーは以下の構文を使用して定義されます。
group name {
[permissions]
    controller {
        param_name = param_value;
        …
    }
    …
}
name を cgroup の名前に置き換えます。controller は変更するコントローラーの名前を表します。systemd で自動的にマウントされたデフォルトコントローラーのいずれかではなく、独自にマウントしたコントローラーのみを変更する必要があります。param_name および param_value を変更するコントローラーパラメーターとその新規の値に置き換えます。permissions セクションはオプションであることに注意してください。グループエントリーのパーミッションを定義するには、以下の構文を使用します。
perm {
    task {
        uid = task_user;
        gid = task_group;
    }
    admin {
       uid = admin_name;
       gid = admin_group;
    }
}

注記

/etc/cgconfig.conf の変更を有効にするには、cgconfig サービスを再起動します。このサービスを再起動すると、設定ファイルに指定される階層が再構築されますが、すべてのマウントされた階層には影響はありません。systemctl restart コマンドを実行してサービスを起動することができますが、まず cgconfig サービスを停止することをお勧めします。
~]# systemctl stop cgconfig
次に、設定ファイルを開いてこれを編集します。変更を保存した後に以下のコマンドを使って cgconfig を再び起動できます。
~]# systemctl start cgconfig

cgset コマンドの使用

関連する cgroup を変更するパーミッションを持つユーザーアカウントで cgset コマンドを実行してコントローラーパラメーターを設定します。このコマンドは手動でマウントしたコントローラーにのみ使用します。
cgset の構文は以下のとおりです。
cgset -r parameter=value path_to_cgroup
ここで、
  • parameter は設定するパラメーターで、特定の cgroup のディレクトリー内のファイルに対応します。
  • value はパラメーター用の値です。
  • path_to_cgroup は、階層の root に対して相対的な cgroup へのパスです。
cgset で設定できる値は、特定の階層でより高く設定されている値によって左右される可能性があります。たとえば、group1 がシステム上の CPU 0 のみを使用するように制限されている場合、group1/subgroup1 が CPU 0 および 1 を使用するように、または CPU 1 のみを使用するように設定することはできません。
cgset を使用して 1 つの cgroup のパラメーターを別の既存の cgroup にコピーすることもできます。cgset を使用してパラメーターをコピーするための構文は以下のようになります。
cgset --copy-from path_to_source_cgroup path_to_target_cgroup
ここで、
  • path_to_source_cgroup は、コピーするパラメーターを持つ cgroup の、その階層の root グループに対して相対的なパスです。
  • path_to_target_cgroup は、その階層の root グループに対して相対的な、コピー先 cgroup へのパスです。