
システムに2つのプロセッサがあるとします。これでcgroupを作成し、1つのプロセッサのみを使用するようにグループを設定します。 (要点を証明するために)負荷平均が5になるように十分なプロセスで満たしてください。今は絶望的に遅いです。
/proc/loadavg
他のユーザーが待ち時間なしで他のCPUを自由に使用できる場合でも、負荷平均も5であるとします。
そうですか?このソースを引用してもよいですか?
答え1
あなたの理解は正しいです。この指標は、システム全体が過負荷になったという誤った印象を与える可能性がありますが、特定のcgroupだけが過負荷になったことを意味する可能性があります。
負荷平均は、実行中の作業量をシステム全体で測定したものです(参照:/proc/loadavg
で説明されています。man proc
)。
同時に、man cgroups
、cpu
コントローラの場合:
システムが使用量が多い場合、Cgroupは最小の「CPU共有」数を保証されます。 CPU が使用中でない場合、cgroup の CPU 使用量は制限されません。
したがって、他のユーザーがCPUを使用しない場合、cgroupはすべてのCPUを占有します。それ以外の場合は、cgroupに設定された制限が適用されます(仮説の例では1プロセッサ)。