Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 7160|Odgovoriti: 5

Docker spreminja in omejuje CPU, pomnilnik in druge vire kontejnerjev

[Kopiraj povezavo]
Objavljeno na 6. 08. 2022 13:55:37 | | | |
Zahteve: Pri ustvarjanju docker vsebnika lahko omejite največjo porabo pomnilnika z dodajanjem parametra -m.

Pregledaj omejitve pomnilnika kontejnerjev

Gostiteljski računalnik namesti 8G pomnilniški ključek in ustvari 3 vsebnike, od katerih je največji pomnilnik vsebnika itsvse-redis omejen na 512M, preostala dva vsebnika pa nista omejena, kot je prikazano na spodnji sliki:



Podrobna razlaga formata izhodnih informacij

[KONTEJNER]: Prikazuje ID kontejnerja v kratki obliki.
CPU %: Uporaba CPU.
[PORABA/OMEJITEV MEM]: Pomnilnik, ki ga trenutno uporabljaš, in največji možni pomnilnik.
[MEM %]: Prikazuje porabo pomnilnika kot odstotek.
[NET I/O]: Omrežni vhod/izhodni podatki.
[BLOCK I/O]: Diskovni vhodno/izhodni podatki.
[PIDS]:P ID številka.

Docker ukaz za posodobitev

Ukaz docker update dinamično posodablja konfiguracijo kontejnerja. Ta ukaz lahko uporabite, da preprečite, da bi kontejnerji porabljali preveč virov iz svojih Docker gostiteljev. Z enim ukazom lahko nastavite omejitve za en ali več kontejnerjev. Za določitev več kontejnerjev navedite seznam imen ali ID-jev kontejnerjev, ločenih z presledki.

Opis OPTIONS

ime
opis
--blkio-teža
Blokiranje IO (relativna teža), med 10 in 1000, 0 je onemogočeno (privzeto potlačeno)
--CPU-obdobje
Omejitev trajanja CPU CFS (Totally Fair Scheduler)
--CPU-kvota
Omejite CPU CFS (Completely Fair Scheduler) kvote
--CPU-RT-obdobje
API 1.25+, ki omejuje realnočasovni čas procesorja na mikrosekunde
--cpu-rt-runtime
API 1.25+, ki omejuje realnočasovno izvajanje CPU na mikrosekunde
--CPU-shares, -c
CPU delež (relativna teža)
--Cpus
API 1.29+, število procesorjev
--cpuset-cpu
Dovoljen procesor (0-3,0,1)
--cpuset-mem
Dovoljeni MEM (0-3,0,1)
--kernel-pomnilnik
Omejitve pomnilnika jedra
--zamenjava pomnilnika
Omejitev zamenjave je enaka pomnilniku plus zamenjava, "-1" za omogočanje neomejenega menjavanja
--memory-reservatio
Mehka meja pomnilnika
--spomin, -m
Omejitev pomnilnika
--pids-limit
API 1.40+, prilagodite omejitve PIDS-ov kontejnerjev (-1 pomeni neomejeno)
--Ponovno zagnati
Ponovno zaženi politiko, da se uporabi, ko kontejner zapusti

Dokumentacija:Prijava do hiperpovezave je vidna.

Predpostavimo, da omejiš vsebnik php5-fpmNajvečja poraba pomnilnika 1024M (1G), ukaz je naslednji:



(Konec)




Prejšnji:HTML5 PostMessage komunikacija med okni
Naslednji:[Obrni] Stavčna naloga. Rezultat bo zaklenjen, kako drugače napisati to kodo?
 Najemodajalec| Objavljeno na 6. 08. 2022 13:58:43 |
Če ne nastavite parametra --memory-swap, lahko dobite napako:

Odgovor na napako demona: Ni mogoče posodobiti vsebnika ae7884f515f96cadab65668d6a44e13bb899c1e7fd411abcc88577a79d4302a3: Omejitev pomnilnika bi morala biti manjša od že nastavljene omejitve za zamenjavo pomnilnika, Hkrati posodobi memoryswap
 Najemodajalec| Objavljeno na 6. 08. 2022 14:31:57 |
Linux uporablja lookbusy za simulacijo uporabe procesorja
https://www.itsvse.com/thread-10260-1-1.html
Objavljeno na 6. 08. 2022 15:52:44 |
Uči se učiti
 Najemodajalec| Objavljeno na 1. 07. 2023 21:46:50 |
Možnosti izvajanja za Docker pomnilnik, procesor in grafično kartico:Prijava do hiperpovezave je vidna.

--podrobnosti o zamenjavi pomnilnika

--memory-swap je modifikatorska zastavica, ki ima smisel le, če je nastavljen tudi --pomnilnik. Ko kontejner porabi ves razpoložljivi RAM, uporaba swapa omogoči vsebniku, da na disk zapiše presežne pomnilniške zahteve. Pri aplikacijah, ki pogosto preklapljajo pomnilnik na disk, zmogljivost trpi.

Njena okolja imajo lahko zapletene učinke:

Če je --memory-swap nastavljen na pozitivno celo število, potem morata biti oba --pomnilnika nastavljena na --memory-swap. --memory-swap predstavlja skupno količino pomnilniških in swap con, ki jih je mogoče uporabiti, in --pomnilnik nadzoruje količino pomnilnika, uporabljenega v conah brez swapa. zatoČe je --memory="300m" in --memory-swap="1g", lahko kontejner zamenja prostor s 300m pomnilnika in 700m (1g - 300m).

Če je --memory-swap nastavljen na 0, se nastavitev prezre in vrednost se šteje za nenastavljeno.

Če je --memory-swap nastavljen na isto vrednost kot --pomnilnik, in je --pomnilnik nastavljen na pozitivno celo število, vsebnik nima dostopa do zamenjave。 Glej Preprečevanje uporabe zamenjav kontejnerjev.

Če --memory-swap ni nastavljen in je --pomnilnik nastavljen, lahko vsebnik uporabi toliko swap --pomnilnika, kot je nastavljeno (če je gostiteljski kontejner konfiguriran s swap pomnilnikom). Na primer, če --memory="300m" in --memory-swap nista nastavljena, lahko kontejner porabi skupno 600m pomnilnika in prostora za izmenjavo.

Če je --memory-swap eksplicitno nastavljen na -1, lahko vsebnik uporablja neomejeno število swapov, do števila, ki je na voljo na gostiteljskem sistemu.

Znotraj vsebnika orodja, kot je brezplačno, poročajo o razpoložljivih izmenjavah za gostitelja, namesto da bi poročala o izmenjavah, ki so na voljo znotraj vsebnika. Ne zanašajte se na rezultate brezplačnih ali podobnih orodij, da ugotovite, ali borza obstaja.
 Najemodajalec| Objavljeno na 16. 02. 2024 04:07:22 |

Če --memory-swap ni nastavljen,-- se pomnilnik nastavi na vrednost,Privzeto --memory-swap lahko uporablja isti pomnilnik kot --memoryNa primer, če ,-- memory-swap=1G, lahko uporabite 1G swap prostora, nazadnje pa lahko kontejner uporabi 2G pomnilnika (--memory 1G prostor + --memory-swap 1G prostor).

To pomeni, da ko je --pomnilnik nastavljen,-- lahko zamenjavo pomnilnika razumemo kot skupno omejitev pomnilnika, razpoložljiv prostor za zamenjavo pa je enak vrednosti pomnilniške zamenjave minus pomnilnik.

Poglejte konfiguracijo kontejnerja --memory-swap z naslednjim ukazom:



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

Zgornja konfiguracija je, da vsebnik omejuje pomnilnik --memory=512M, in -memory-swap ni nastavljen.
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com