Chciałbym uruchomić dwa pojemniki z poniższej alokacji zasobów:Mieszanie CPU-akcje i cpuset procesorach w Döcker
- Kontener "C1": zastrzeżone CPU1, wspólne CPU2 z 20 CPU-akcji
- kontener "C2": zastrzeżone cpu3, wspólne CPU2 z 80 CPU akcji
Jeśli uruchomię dwa pojemniki w następujący sposób:
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
Mam, że C1 przyjmuje 100% cpu1 zgodnie z oczekiwaniami, ale 50% cpu2 (zamiast 20%), C2 przyjmuje 100% cpu3 zgodnie z oczekiwaniami i 50% cpu2 (zamiast 80%).
Wygląda na to, że opcja --cpu-shares jest ignorowana. Czy istnieje sposób na uzyskanie zachowania, którego szukam?
Wiem, użyłem 20 i 80, aby uprościć scenariusz. Ponieważ mam tylko dwa pojemniki, które wymagają zarówno 100% cpu (stresu) z udziałami ustawionymi na 20 i 80, powinny działać odpowiednio na poziomie 20% i 80% na współużytkowanym procesorze (cpu2). Oczywiście mogłem użyć czegoś takiego jak 4 i 16 lub 80 i 320. –
Nie, chodzi mi o to, że te wartości mogą nie zostać rozpoznane. Spróbuj 200 i 800, aby sprawdzić, czy to działa lepiej. – VonC
Nie, to nie działa lepiej, to jest to samo. –