2016-07-05 12 views
9

Usługa Docker v1.12 zawiera cztery flagi do ustawiania limitów zasobów dla usługi.Limit i rezerwacje usługi dokowania

--limit procesora CPU graniczna wartość (domyślnie 0,000)

--limit-Limit pamięci Memory wartość (domyślnie 0 B)

wartość --reserve procesora CPU Reserve (domyślnie 0.000)

--reserve pamięć wartość Reserve pamięci (domyślnie 0 B)

  1. Jaka jest różnica między limitem a rezerwą w tym kontekście?

  2. Co oznacza tutaj wartość procesora? Czy to oznacza liczbę rdzeni? udział w cPu? Co to jest jednostka?

+0

Przeczytałeś to? - https://docs.docker.com/engine/reference/run/#/runtime-constraints-on-resources – johnharris85

+0

Podobne pytanie, ale nie do końca odpowiedź http://stackoverflow.com/questions/38094762/do-limit -xxx-options-of-service-command-limit-resource-per-service-or-per-cont –

Odpowiedz

10

Reserve posiada te zasoby na komputerze więc są zawsze dostępne dla pojemnika. Pomyśl o dedykowanych zasobach.

Ograniczenie zapobiega używaniu przez plik binarny wewnątrz kontenera więcej. Pomyśl o kontrolowaniu niekontrolowanych procesów w kontenerze.

Opierając się na moich ograniczonych testach z stress, -limit-cpu jest procentem rdzenia, ale jeśli istnieje wiele wątków, rozdzieli je na rdzeń i wydaje się, że próbuje utrzymać całość blisko tego, co Ty. d oczekiwać.

Na poniższym zdjęciu, od lewej do prawej, było --limit-cpu 4, następnie 2,5, następnie 2, następnie 1. Wszystkie te testy miały ustawione naprężenie na procesor 4 (wątki robocze).

enter image description here

Powiązane problemy