Red Hat Training

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

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

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

Modifying /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 は、階層のルートに対する相対的な cgroup へのパスです
cgset に設定できる値は、特定の階層で高い値に依存する可能性があります。たとえば、group1 がシステムで CPU 0 のみを使用するように制限されている場合は、group1/subgroup1 を 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 へのパスです。