Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 7160|Antwoord: 5

Docker wijzigt en beperkt container-CPU, geheugen en andere bronnen

[Link kopiëren]
Geplaatst op 06-08-2022 13:55:37 | | | |
Vereisten: Bij het aanmaken van een docker-container kun je het maximale geheugengebruik van de container beperken door de -m-parameter toe te voegen.

Bekijk containergeheugenlimieten

De hostmachine installeert een 8G-geheugenstick en maakt 3 containers aan, waarvan het maximale geheugen van de itsvse-redis container beperkt is tot 512M, en de resterende twee containers niet beperkt zijn, zoals te zien is in de onderstaande figuur:



Gedetailleerde uitleg van het uitvoerinformatieformaat

[CONTAINER]: Toont de ID van de container in korte vorm.
CPU%: CPU-verbruik.
[MEM GEBRUIK/LIMIET]: Het geheugen dat momenteel wordt gebruikt en het maximale geheugen dat gebruikt kan worden.
[MEM %]: Toont geheugengebruik als percentage.
[NET I/O]: Netwerk-I/O-data.
[BLOCK I/O]: Schijf I/O-gegevens.
[PIDS]:P ID-nummer.

Docker-updatecommando

Het docker update-commando werkt de containerconfiguratie dynamisch bij. Je kunt dit commando gebruiken om te voorkomen dat containers te veel resources van hun Docker-hosts verbruiken. Met één enkel commando kun je limieten instellen op één container of meerdere containers. Om meerdere containers te specificeren, geef je een lijst met containernamen of ID's gescheiden door ruimtes.

OPTIES Beschrijving

naam
beschrijving
--blkio-gewicht
Blokkering van IO (relatieve gewicht), tussen 10 en 1000, 0 is uitgeschakeld (standaard onderdrukt)
--CPU-periode
Beperk de duur van CPU CFS (Totally Fair Scheduler)
--cpu-quota
Beperk CPU CFS (Completely Fair Scheduler) quota
--cpu-rt-periode
API 1.25+, die de realtime CPU-tijd beperkt tot microseconden
--cpu-rt-runtime
API 1.25+, die de realtime uitvoering van de CPU beperkt tot microseconden
--cpu-aandelen, -c
CPU-aandeel (relatieve gewicht)
--Processoren
API 1.29+, aantal CPU's
--cpuset-cpus
Toegestane CPU (0-3,0,1)
--cpuset-mem
Toegestane MEM (0-3,0,1)
--kernel-geheugen
Kernelgeheugenlimieten
--geheugen-swap
De swaplimiet is gelijk aan geheugen plus swapping, "-1" om onbeperkt swappen mogelijk te maken
--geheugen-reservatio
Geheugen soft limit
--geheugen, -m
Geheugenlimiet
--pids-limiet
API 1.40+, pas de pidslimieten van containers aan (-1 betekent onbeperkt)
--herstarten
Herstart het beleid zodat het wordt toegepast wanneer de container vertrekt

Documentatie:De hyperlink-login is zichtbaar.

Stel dat je de php5-fpm-container beperktMaximaal geheugengebruik 1024M (1G), het commando is als volgt:



(Einde)




Vorig:HTML5 PostMessage cross-window communicatie
Volgend:[Draai] Een zin Opdracht. Resultaat wordt vergrendeld, hoe anders schrijf je deze code?
 Huisbaas| Geplaatst op 06-08-2022 13:58:43 |
Als je de --memory-swap parameter niet instelt, kun je een foutmelding krijgen:

Foutmelding van daemon: Kan container niet updaten ae7884f515f96cadab65668d6a44e13bb899c1e7fd411abcc88577a79d4302a3: Geheugenlimiet zou kleiner moeten zijn dan de reeds ingestelde geheugenswaplimiet, Werk de memoryswap tegelijkertijd bij
 Huisbaas| Geplaatst op 06-08-2022 14:31:57 |
Linux gebruikt lookbusy om het CPU-gebruik te simuleren
https://www.itsvse.com/thread-10260-1-1.html
Geplaatst op 06-08-2022 15:52:44 |
Leer leren
 Huisbaas| Geplaatst op 01-07-2023 21:46:50 |
Runtime-opties voor Docker-geheugen, CPU en GPU:De hyperlink-login is zichtbaar.

--geheugenswap details

--memory-swap is een modifier-vlag die alleen logisch is als --geheugen ook is ingesteld. Wanneer een container al het beschikbare RAM gebruikt, kan swap de container overtollige geheugenvereisten naar de schijf schrijven. Voor applicaties die vaak geheugen naar schijf wisselen, lijdt de prestatie.

De instellingen kunnen complexe effecten hebben:

Als --memory-swap op een positief geheel getal staat, dan moeten beide ---geheugen worden ingesteld op --memory-swap. --memory-swap vertegenwoordigt de totale hoeveelheid geheugen en swapzones die gebruikt kunnen worden, en --memory bepaalt de hoeveelheid geheugen die wordt gebruikt in niet-swap zones. daaromAls --memory="300m" en --memory-swap="1g", kan de container ruimte ruilen met 300m geheugen en 700m (1g - 300m).

Als --memory-swap op 0 is gezet, wordt de instelling genegeerd en wordt de waarde als niet ingesteld beschouwd.

Als --memory-swap op dezelfde waarde als --memory wordt gezet, en --memory op een positief geheel getal, heeft de container geen toegang tot swap。 Zie Voorkomen dat containers swaps gebruiken.

Als --memory-swap niet is ingesteld en --geheugen is ingesteld, kan de container evenveel swap --geheugen gebruiken als ingesteld (als de hostcontainer is geconfigureerd met swapgeheugen). Als bijvoorbeeld --memory="300m" en --memory-swap niet zijn ingesteld, kan de container in totaal 600m geheugen en swapruimte gebruiken.

Als --memory-swap expliciet op -1 is ingesteld, mag de container een onbeperkt aantal swaps gebruiken, tot het aantal dat beschikbaar is op het hostsysteem.

Binnen de container rapporteren tools zoals Free de beschikbare exchanges voor de host in plaats van te rapporteren over de exchanges die binnen de container beschikbaar zijn. Vertrouw niet op de output van gratis of vergelijkbare tools om te bepalen of er een uitwisseling bestaat.
 Huisbaas| Geplaatst op 16-02-2024 04:07:22 |

Als --memory-swap niet is ingesteld,-- wordt geheugen ingesteld op een waarde,De standaard --memory-swap kan hetzelfde geheugen gebruiken als --geheugenAls je bijvoorbeeld geheugenswap =1G ,--, kun je 1G swapruimte gebruiken, en tenslotte kan de container 2G geheugen gebruiken (--geheugen 1G ruimte + --geheugen-swap 1G ruimte).

Dit betekent dat wanneer --geheugen wordt ingesteld,-- geheugen-swap kan worden begrepen als de totale geheugenlimiet, en de beschikbare swapruimte gelijk is aan de waarde van geheugen-swap minus geheugen.

Bekijk de container --memory-swap configuratie met het volgende commando:



"Geheugen": 536870912, // 512M=536870912/1024/1024/1024
"Geheugenreservering": 0,
"MemorySwap": 1073741824, // 1G=1073741824/1024/1024/1024
"MemorySwappiness": null,

De bovenstaande configuratie is dat de container het geheugen beperkt --memory=512M, en --memory-swap niet is ingesteld.
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com