22.2. システムソースの配分モデル

システムリソースの配分を変更するには、以下の配分モデルの 1 つまたは複数を適用できます。

重み

全サブグループの重みを合計し、各サブグループに、合計に対する重み比率に応じたリソースを配分します。

たとえば、10 個の cgroup があり、それぞれの重みが 100 の場合、合計は 1000 になります。各 cgroup は、リソースの 10 分の 1 を受け取ります。

重みは通常、ステートレスリソースの配分に使用されます。たとえば、CPUWeight= オプションは、このリソース配分モデルの実装です。

制限

cgroup は、設定された量のリソースを消費できます。サブグループ制限の合計は、親 cgroup の制限を超える可能性があります。したがって、このモデルではリソースをオーバーコミットする可能性があります。

たとえば、MemoryMax= オプションは、このリソース配分モデルの実装です。

保護

cgroup のリソースの保護された量を設定できます。リソースの使用状況が保護されるリソース量を下回る場合には、カーネルは、同じリソースを取得しようしている他の cgroup が優先されるように、この cgroup にペナルティーを課します。オーバーコミットも可能です。

たとえば、MemoryLow= オプションは、このリソース配分モデルの実装です。

割り当て
リソースに上限がある場合に、絶対量を特別に割り当てます。オーバーコミットはできません。Linux でこのリソースのタイプとして、リアルタイムの予算などが例として挙げられます。
ユニットファイルオプション

リソース制御設定の設定。

たとえば、CPUAccounting=CPUQuota= などのオプションを使用して CPU リソースを設定できます。同様に、AllowedMemoryNodes=IOAccounting= などのオプションを使用して、メモリーまたは I/O リソースを設定できます。