misc cgroup
Miscellaneous cgroupは、他のcgroupリソースのように抽象化することができないスカラリソースのリソース制限とトラッキングメカニズムを提供します。コントローラは、CONFIG_CGROUP_MISC
設定オプションで有効になります。
コントローラにリソースを追加するには、include/linux/misc_cgroup.h
ファイルの enum misc_res_type{}
と kernel/cgroup/misc.c
ファイルの misc_res_name[]
で対応する名前を指定します。リソースの提供者は、リソースを使用する前に、misc_cg_set_capacity()
を呼び出して、リソースの容量を設定する必要があります。
容量が設定されると、charge および uncharge API を使用してリソースの使用状況を更新することができます。misc コントローラと対話するためのすべての API は include/linux/misc_cgroup.h
にあります。
miscコントローラは3つのインターフェースファイルを提供します。2 つの misc リソース (res_a
と res_b
) が登録されている場合は
misc.capacity
ルート cgroup にのみ表示される読み取り専用のフラットキーファイルです。 このファイルには、プラットフォーム上で利用可能な雑多なスカラリソースとその量が表示されています。
$ cat misc.capacity
RES_A 50
res_b 10
misc.current
非 root cgroups で表示される読み取り専用のフラットキーファイルです。 cgroup とその子のリソースの現在の使用状況が表示されています。
$ cat misc.current
res_a 3
res_b 0
misc.max
非 root の cgroup に表示される、読み書き可能なフラットキーのファイル。cgroup とその子のリソースの最大使用量を許可しています。::
$ cat misc.max
res_a 最大
res_b 4
制限は次のようにして設定できます。
# echo res_a 1 > misc.max
次の方法で最大値に設定できます。
# echo res_a max > misc.max
リミットは、misc.capacityファイルの容量値以上に設定することができます。