3.5. cgroup パラメーターの設定
/etc/cgconfig.conf
設定ファイルを編集するか、cgset コマンドを使用して、制御グループのパラメーターを変更します。/etc/cgconfig.conf
に加えられた変更は再起動後も保持されますが、cgset は現在のセッションの cgroup パラメーターのみを変更します。
/etc/cgconfig.conf の変更
/etc/cgconfig.conf
の Groups セクションでコントローラーのパラメーターを設定できます。グループエントリーは、次の構文を使用して定義されます。
group name {
[permissions]
controller {
param_name = param_value;
…
}
…
}
name を cgroup の名前に置き換えます。controller は、変更する コントローラー の名前を表します。systemd によって自動的にマウントされたデフォルトのコントローラーではなく、自分でマウントしたコントローラーのみを変更する必要があります。param_name と param_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 へのパスです。