Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 7160|Atsakyti: 5

"Docker" modifikuoja ir riboja konteinerio procesorių, atmintį ir kitus išteklius

[Kopijuoti nuorodą]
Paskelbta 2022-08-06 13:55:37 | | | |
Reikalavimai: Kurdami "Docker" konteinerį, galite apriboti maksimalų konteinerio atminties naudojimą pridėdami parametrą -m.

Peržiūrėkite konteinerio atminties apribojimus

Pagrindinis kompiuteris įdiegia 8G atminties atmintinę ir sukuria 3 konteinerius, iš kurių maksimali itsvse-redis konteinerio atmintis yra ribojama iki 512M, o likę du konteineriai nėra ribojami, kaip parodyta paveikslėlyje žemiau:



Išsamus išvesties informacijos formato paaiškinimas

[CONTAINER]: rodo konteinerio ID trumpa forma.
CPU %: procesoriaus naudojimas.
[MEM USAGE/LIMIT]: Šiuo metu naudojama atmintis ir maksimali atmintis, kurią galima naudoti.
[MEM %]: rodo atminties naudojimą procentais.
[NET I/O]: tinklo įvesties / išvesties duomenys.
[BLOCK I/O]: disko įvesties / išvesties duomenys.
[PIDS]:P ID numeris.

"Docker" atnaujinimo komanda

"Docker" atnaujinimo komanda dinamiškai atnaujina konteinerio konfigūraciją. Galite naudoti šią komandą, kad konteineriai nesunaudotų per daug išteklių iš savo "Docker" pagrindinių kompiuterių. Naudodami vieną komandą galite nustatyti vieno konteinerio arba kelių konteinerių apribojimus. Jei norite nurodyti kelis konteinerius, pateikite konteinerių pavadinimų arba ID sąrašą, atskirtą tarpais.

PARINKTYS Aprašymas

vardas, pavadinimas
apibūdinimas
--blkio-svoris
Blokuojamas IO (santykinis svoris), nuo 10 iki 1000, 0 yra išjungtas (numatytasis slopintas)
--procesoriaus laikotarpis
Apriboti CPU CFS (Totally Fair Scheduler) trukmę
--CPU-kvota
Apribokite CPU CFS (Completely Fair Scheduler) kvotas
--procesorius-rt-laikotarpis
API 1.25+, kuri apriboja procesoriaus realaus laiko laiką iki mikrosekundžių
--cpu-rt-vykdymo laikas
API 1.25+, kuri apriboja procesoriaus veikimo laiką realiuoju laiku iki mikrosekundžių
--CPU-akcijos, -c
CPU dalis (santykinis svoris)
--Cpu
API 1.29+, procesorių skaičius
--cpuset-cpus
Leidžiamas procesorius (0-3,0,1)
--cpuset-mem
Leidžiamas MEM (0-3,0,1)
--branduolys-atmintis
Branduolio atminties apribojimai
--atminties keitimas
Apsikeitimo limitas yra lygus atminčiai plius keitimui, "-1", kad būtų galima neribotai keisti
--atminties-rezervatio
Atminties minkšta riba
--atmintis, -m
Atminties limitas
--pids-limitas
API 1.40+, koreguokite konteinerio PID ribas (-1 reiškia neribotą)
--Paleisti
Iš naujo paleiskite strategiją, kad ji būtų taikoma, kai konteineris išeina

Dokumentacija:Hipersaito prisijungimas matomas.

Tarkime, kad apribojate php5-fpm konteinerįMaksimalus atminties naudojimas 1024M (1G), komanda yra tokia:



(Pabaiga)




Ankstesnis:HTML5 "PostMessage" ryšys tarp langų
Kitą:[Posūkis] Sakinys Task.Result bus užrakintas, kaip dar parašyti šį kodą?
 Savininkas| Paskelbta 2022-08-06 13:58:43 |
Jei nenustatysite parametro --memory-swap, galite gauti klaidą:

Demono atsakymas į klaidą: Neįmanoma atnaujinti konteinerio ae7884f515f96cadab65668d6a44e13bb899c1e7fd411abcc88577a79d4302a3: Atminties limitas turi būti mažesnis nei jau nustatytas atminties apsikeitimo limitas, Atnaujinkite "MemorySwap" tuo pačiu metu
 Savininkas| Paskelbta 2022-08-06 14:31:57 |
"Linux" naudoja "lookus", kad imituotų procesoriaus naudojimą
https://www.itsvse.com/thread-10260-1-1.html
Paskelbta 2022-08-06 15:52:44 |
Išmokite mokytis
 Savininkas| Paskelbta 2023-07-01 21:46:50 |
"Docker" atminties, procesoriaus ir GPU vykdymo laiko parinktys:Hipersaito prisijungimas matomas.

--atminties apsikeitimo informacija

--memory-swap yra modifikatoriaus vėliavėlė, kuri turi prasmę tik tuo atveju, jei --memory taip pat nustatyta. Kai konteineris išnaudoja visą turimą RAM, naudojant swap konteineris gali įrašyti perteklinius atminties reikalavimus į diską. Programoms, kurios dažnai keičia atmintį į diską, nukenčia našumas.

Jo nustatymai gali turėti sudėtingą poveikį:

Jei --memory-swap nustatytas teigiamas sveikasis skaičius, tada abu --memory turi būti nustatyti į --memory-swap. --memory-swap reiškia bendrą atminties ir apsikeitimo zonų kiekį, kurį galima naudoti, o --memory kontroliuoja atminties kiekį, naudojamą ne swap zonose. taipJei --memory="300m" ir --memory-swap="1g", konteineris gali pakeisti vietą su 300m atmintimi ir 700m (1g - 300m).

Jei --memory-swap nustatytas į 0, parametro nepaisoma ir reikšmė laikoma nenustatyta.

Jei --memory-swap nustatyta tokia pati reikšmė kaip --memory, o --memory nustatytas teigiamas sveikasis skaičius, konteineris neturi prieigos prie swap。 Žr. Konteinerių neleidimas naudoti apsikeitimų.

Jei --memory-swap nenustatytas ir --memory nustatytas, konteineris gali naudoti tiek swap --memory, kiek nustatyta (jei pagrindinio kompiuterio konteineris sukonfigūruotas su swap atmintimi). Pavyzdžiui, jei --memory="300m" ir --memory-swap nenustatyti, konteineris gali naudoti iš viso 600 m atminties ir apsikeitimo vietos.

Jei --memory-swap yra aiškiai nustatytas į -1, konteineriui leidžiama naudoti neribotą skaičių apsikeitimų, iki skaičiaus, kuris yra pagrindinėje sistemoje.

Konteinerio viduje tokie įrankiai kaip nemokama ataskaita apie galimus pagrindinio kompiuterio mainus, o ne pranešimai apie konteineryje esančius mainus. Nepasikliaukite nemokamų ar panašių įrankių išvestimi, kad nustatytumėte, ar birža egzistuoja.
 Savininkas| Paskelbta 2024-02-16 04:07:22 |

Jei --memory-swap nenustatytas,-- atmintyje nustatyta reikšmė,Numatytasis --memory-swap gali naudoti tą pačią atmintį kaip --memoryPavyzdžiui, jei ,-- memory-swap=1G, galite naudoti 1G apsikeitimo vietos, o galiausiai konteineris gali naudoti 2G atminties (--memory 1G space + --memory-swap 1G space).

Tai reiškia, kad nustačius --memory,-- atminties apsikeitimas gali būti suprantamas kaip bendra atminties riba, o turima apsikeitimo vieta yra lygi atminties apsikeitimo vertei atėmus atmintį.

Pažvelkite į konteinerio --memory-swap konfigūraciją naudodami šią komandą:



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

Aukščiau pateikta konfigūracija yra ta, kad konteineris riboja atmintį --memory=512M, o --memory-swap nenustatytas.
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com