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_nameparam_value を、変更したいコントローラーパラメーターとその新しい値に置き換えます。権限 セクションはオプションであることに注意してください。グループエントリーの権限を定義するには、次の構文を使用します。
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、階層のルートに相対的な cgroup へのパスです。
cgset で設定できる値は、特定の階層の上位に設定された値に依存する場合があります。たとえば、グループ 1 がシステム上で CPU 0 のみを使用するように制限されている場合、グループ 1 /サブグループ 1 が CPU 0 と 1 を使用したり、CPU 1 のみを使用したりするように設定することはできません。
cgset を使用して、ある cgroup のパラメーターを別の既存の cgroup にコピーすることもできます。cgset でパラメーターをコピーする構文は次のとおりです。
cgset --copy-from path_to_source_cgroup path_to_target_cgroup
ここでは、以下のようになります。
  • path_to_source_cgroup は、階層のルートグループに相対的な、パラメーターがコピーされる cgroup へのパスです。
  • path_to_target_cgroup は、階層のルートグループに相対的な宛先 cgroup へのパスです。