würde Ich mag zwei Container mit der folgenden Ressourcenzuordnung auszuführen:Mixing cpu-Aktien und CPU-Satz-CPUs in Docker
- Container "C1": reserviert cpu1, gemeinsamer cpu2 mit 20 cpu-shares
- Container "C2": reserviert CPU3, gemeinsamer cpu2 mit 80 CPU-Aktien
Wenn ich die beiden Behälter auf diese Weise auszuführen:
docker run -d --name='C1' --cpu-shares=20 --cpuset-cpus="1,2" progrium/stress --cpu 2
docker run -d --name='C2' --cpu-shares=80 --cpuset-cpus="2,3" progrium/stress --cpu 2
Ich habe, dass C1 100% von cpu1 wie erwartet nimmt, aber 50% von cpu2 (statt 20%), C2 nimmt 100% von cpu3 wie erwartet und 50% von cpu2 (anstelle von 80%).
Es sieht so aus, als ob die Option --cpu-shares ignoriert wird. Gibt es eine Möglichkeit, das von mir gesuchte Verhalten zu erhalten?
Ich weiß, ich habe 20 und 80 verwendet, um das Szenario zu vereinfachen. Da ich nur zwei Container habe, die beide 100% CPU (Stress) mit den Shares 20 und 80 benötigen, sollten sie bei 20% bzw. 80% auf der gemeinsamen CPU (cpu2) laufen. Natürlich hätte ich etwas wie 4 und 16 oder 80 und 320 verwenden können. –
Nein, ich meine, diese Werte werden möglicherweise nicht erkannt. Versuchen Sie 200 und 800, um zu sehen, ob das besser funktioniert. – VonC
Nein, es funktioniert nicht besser, es ist das gleiche. –