0

CPU負荷の高いプロセスAがCPU負荷(100%)を取りすぎているため、プロセスBが十分なサイクルを取得できません... BはWeb応答に関連しています...だから、Web応答のベンチマークを実行したときどちらのプロセスも cgroup なしで、結果は 5 秒でした...2 つのグループを作成し、両方のプロセスに同じ量の cpu.shares を与えると、所要時間は 15 秒に増加します。

優先度を高くする必要があるプロセスに対するCPUのシェア率が高く、良い結果が得られています...しかし、デフォルト値でのこの奇妙な動作に本当に興味があります...

両方のグループへのデフォルトの共有値 1024 で応答時間が増加するのはなぜですか? cgroup がない場合と同じではないでしょうか? ???

両方のプロセスを同じグループに入れると、応答は再び5秒に戻ります...

スケジューラーの関係でしょうか...

4

1 に答える 1

0

[ cpuacct cgroup が cpu でマウントされている場合、使用数を調べて、両方の cgroup が等しいシェアを取得しているかどうかを確認できます。]

私の推測では、セットアップには cgroup の外部で実行されているプロセスがいくつかあると思います。プロセスの一部を cgroup の下に移動すると、まだ外にあるプロセスは、2 つの cgroup よりも高い CPU シェア (合計) を取得します。(各最上位プロセスは、1024 の共有に相当するものを取得します)。目的を達成するには、すべてのプロセスが何らかの cgroup の下にある必要があります。

于 2014-04-01T20:21:29.120 に答える