2016-07-05 32 views
9

Il servizio Docker v1.12 è dotato di quattro flag per l'impostazione dei limiti di risorse su un servizio.Servizio Docker Limiti e prenotazioni

--limit-CPU CPU valore limite (predefinite 0,000)

--limit-memory memoria di valore limite (default 0 B)

valore --reserve-CPU di riserva CPU (default 0.000)

--reserve-memoria dei valori di riserva di memoria (default 0 B)

  1. Qual è la differenza tra limite e riserva in questo contesto?

  2. Cosa significa qui il valore della CPU? Questo significa numero di core? quota di cpu? Qual è l'unità?

+0

Hai letto questo? - https://docs.docker.com/engine/reference/run/#/runtime-constraints-on-resources – johnharris85

+0

Domanda simile, ma non proprio la risposta http://stackoverflow.com/questions/38094762/do-limit -xxx-opzioni-of-service-comando-limite di risorse-per-servizio-o-per-cont –

risposta

10

Reserve conserva tali risorse sull'host in modo che siano sempre disponibili per il contenitore. Pensa a risorse dedicate.

Il limite impedisce al file binario all'interno del contenitore di utilizzare più di quello. Pensa a controllare i processi di fuga in container.

Sulla base dei miei test limitati con stress, --limit-cpu è la percentuale di un core, sebbene se ci siano più thread, li distribuiremo all'esterno del core e sembra che tenti di mantenere il totale vicino a ciò che si ' d aspettarsi.

Nell'immagine in basso, da sinistra a destra, era --limit-cpu 4, quindi 2,5, quindi 2, quindi 1. Tutti i test avevano lo stress impostato su CPU di 4 (thread di lavoro).

enter image description here