vorrei eseguire due contenitori con la seguente allocazione delle risorse:miscelazione cpu-azioni e cpuset-CPU in Docker
- Container "C1": riservato CPU1, CPU2 condiviso con 20 CPU-azioni
- container "C2": CPU3 riservato, CPU2 condiviso con 80 CPU-azioni
Se corro i due contenitori in questo modo:
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
Ho capito che C1 prende il 100% di cpu1 come previsto ma il 50% di cpu2 (invece del 20%), C2 prende il 100% di cpu3 come previsto e il 50% di cpu2 (invece dell'80%).
Sembra che l'opzione --cpu-shares sia ignorata. C'è un modo per ottenere il comportamento che sto cercando?
Lo so, ho usato 20 e 80 per semplificare lo scenario. Poiché ho solo due contenitori che richiedono sia il 100% di cpu (stress) con le condivisioni impostate su 20 e 80, dovrebbero funzionare rispettivamente al 20% e all'80% della CPU condivisa (cpu2). Ovviamente avrei potuto usare qualcosa come 4 e 16 o 80 e 320. –
No, voglio dire che quei valori potrebbero non essere riconosciuti. Prova 200 e 800 per vedere se funziona meglio. – VonC
No, non funziona meglio, è lo stesso. –