Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: Windows Server 2025, Windows Server 2022, Windows Server 2019
Istnieje kilka mechanizmów kontroli zasobów, które można zaimplementować w poszczególnych kontenerach i poszczególnych zasobach. Domyślnie kontenery podlegają typowemu zarządzaniu zasobami w systemie Windows, które generalnie opiera się na zasadzie sprawiedliwego podziału, ale poprzez konfigurację tych ustawień, deweloper lub administrator może ograniczyć lub wpłynąć na użycie zasobów. Zasoby, które można kontrolować, obejmują: procesor/procesor, pamięć/pamięć RAM, dysk/magazyn i sieć/przepływność.
Kontenery systemu Windows wykorzystują obiekty zadań do grupowania i śledzenia procesów skojarzonych z każdym kontenerem. Kontrolki zasobów są implementowane w obiekcie zadania nadrzędnego skojarzonego z kontenerem.
W przypadku izolacji Hyper-V, kontrole zasobów są automatycznie stosowane zarówno do maszyny wirtualnej, jak i do obiektu zadania kontenera uruchamianego wewnątrz tej maszyny wirtualnej. Zapewnia to, że nawet jeśli proces uruchomiony w kontenerze ominie lub ucieknie spod kontroli obiektu zadania, maszyna wirtualna nie pozwoli na przekroczenie zdefiniowanych limitów zasobów.
Zasoby
Dla każdego zasobu ta sekcja zawiera mapowanie między interfejsem wiersza polecenia platformy Docker, jako przykład zastosowania kontroli zasobów (która może być skonfigurowana przez orkiestratora lub inne narzędzia), a odpowiednim interfejsem API usługi obliczeniowej hosta Windows (HCS). Opisuje również ogólne zasady, według których system Windows realizuje kontrolę zasobów (należy pamiętać, że ten opis jest na wysokim poziomie i że podstawowa implementacja może ulec zmianie).
Pamięć
| Zasób | Lokalizacja |
|---|---|
| Interfejs Dockera | --pamięć |
| Interfejs HCS | MemoryMaximumInMB |
| Wspólne jądro | JOB_OBJECT_LIMIT_JOB_MEMORY (ograniczenie pamięci zadania) |
| izolacja Hyper-V | Pamięć maszyny wirtualnej |
Notatka
Dla izolacji Hyper-V w systemie Windows Server 2016, podczas korzystania z limitu pamięci, kontener początkowo przydzieli określoną ilość pamięci, a następnie zacznie zwracać ją do hosta kontenera. W nowszych wersjach systemu Windows Server (1709 lub nowszych) ten proces został zoptymalizowany.
Procesor (liczba)
| Zasób | Lokalizacja |
|---|---|
| Interfejs Dockera | --Procesorów |
| Interfejs HCS | ProcessorCount |
| Wspólne jądro | Symulowane za pomocą JOB_OBJECT_CPU_RATE_CONTROL_HARD_CAP* |
| izolacja Hyper-V | Liczba uwidocznionych procesorów wirtualnych |
Procesor CPU (procent)
| Zasób | Lokalizacja |
|---|---|
| Interfejs Dockera | --cpu-percent (procent CPU) |
| Interfejs HCS | ProcessorMaximum |
| Wspólne jądro | Ograniczenie użycia CPU w JOB_OBJECT do twardego limitu (JOB_OBJECT_CPU_RATE_CONTROL_HARD_CAP) |
| izolacja Hyper-V | Limity funkcji Hypervisor na procesorach wirtualnych |
Procesor (przydziały)
| Zasób | Lokalizacja |
|---|---|
| Interfejs Dockera | --cpu-shares |
| Interfejs HCS | WagaProcesora |
| Wspólne jądro | JOB_OBJECT_CPU_RATE_CONTROL_WEIGHT_BASED (sterowanie szybkością CPU na podstawie wagi) |
| izolacja Hyper-V | Wagi procesorów wirtualnych dla Hypervisora |
Przechowywanie (obraz)
| Zasób | Lokalizacja |
|---|---|
| Interfejs Dockera | --io-maxbandwidth/--io-maxiops |
| Interfejs HCS | StorageIOPSMaximum i StorageBandwidthMaximum |
| Wspólne jądro | JOBOBJECT_IO_RATE_CONTROL_INFORMATION |
| izolacja Hyper-V | JOBOBJECT_IO_RATE_CONTROL_INFORMATION |
Przechowywanie (woluminy)
| Zasób | Lokalizacja |
|---|---|
| Interfejs Dockera | --storage-opt size= |
| Interfejs HCS | RozmiarPiaskownicyMagazynowej |
| Wspólne jądro | JOBOBJECT_IO_RATE_CONTROL_INFORMATION |
| izolacja Hyper-V | JOBOBJECT_IO_RATE_CONTROL_INFORMATION |
Dodatkowe uwagi lub szczegóły
Wymagania dotyczące pamięci
Kontenery systemu Windows uruchamiają pewien proces systemowy w każdym kontenerze zazwyczaj te, które zapewniają funkcjonalność poszczególnych kontenerów, takich jak zarządzanie użytkownikami, sieć itp. i chociaż większość pamięci wymaganej przez te procesy jest współdzielona między kontenerami, limit pamięci musi być wystarczająco wysoki, aby na to pozwolić. Tabela znajduje się w dokumencie wymagań systemowych dla każdego typu obrazu podstawowego zarówno z, jak i bez izolacji Hyper-V.
Udostępnianie zasobów procesora (bez izolacji Hyper-V)
W przypadku korzystania z udziałów procesora w implementacji bazowej (jeśli nie jest używana separacja Hyper-V) konfiguruje się JOBOBJECT_CPU_RATE_CONTROL_INFORMATION, w szczególności ustawiając flagę sterującą na JOB_OBJECT_CPU_RATE_CONTROL_WEIGHT_BASED i zapewniając odpowiednią wagę. Prawidłowe zakresy wag obiektu zadania wynoszą od 1 do 9, z wartością domyślną 5, co charakteryzuje się niższą wiernością niż zakres wartości usług obliczeniowych hosta wynoszący od 1 do 10000. Na przykład waga udziału 7500 skutkowałaby wagą 7, a waga udziału 2500 wartością 2.