Red Hat Training

A Red Hat training course is available for RHEL 8

26.2. リソース配分モデルの概要

リソース管理では、systemd はコントロールグループバージョン 2 (cgroups-v2) インターフェイスを使用します。

注記

デフォルトでは、RHEL 8 は cgroups-v1 を使用します。したがって、cgroups-v2 を有効にして、systemd がリソース管理に cgroups-v2 インターフェイスを使用できるようにする必要があります。cgroups-v2 を有効にする方法の詳細については、 cgroups-v2 のマウント を参照してください。

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

重み

リソースは、すべてのサブグループの重みを合計し、すべての重みの合計と比較した各サブグループの重みに基づいて、各サブグループにリソースの一部を与えることによって配分されます。

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

重みは通常、ステートレスリソースの配分に使用されます。コントロールグループの重みを調整するには、CPUWeight= オプションを使用します。

制限

cgroup は、設定したリソースの量だけ使用できますが、リソースをオーバーコミットすることもできます。そのため、サブグループ制限の合計は、親 cgroup の制限を超える可能性があります。

コントロールグループの制限を調整するには、MemoryMax= オプションを使用します。

保護

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

コントロールグループの保護リソース量を調整するには、MemoryLow= オプションを使用します。

割り当て
リアルタイムの予算など、上限のあるリソースの特定の量を排他的に割り当てます。オーバーコミットが可能です。