Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 7160|Atbildi: 5

Docker modificē un ierobežo konteinera CPU, atmiņu un citus resursus

[Kopēt saiti]
Publicēts 06.08.2022 13:55:37 | | | |
Prasības: Veidojot docker konteineru, varat ierobežot konteinera maksimālo atmiņas lietojumu, pievienojot parametru -m.

Konteinera atmiņas ierobežojumu pārskatīšana

Resursdators instalē 8G atmiņas karti un izveido 3 konteinerus, no kuriem itsvse-redis konteinera maksimālā atmiņa ir ierobežota līdz 512M, un atlikušie divi konteineri nav ierobežoti, kā parādīts zemāk redzamajā attēlā:



Detalizēts skaidrojums par izvades informācijas formātu

[CONTAINER]: parāda konteinera ID īsā formā.
CPU %: CPU lietojums.
[MEM USAGE/LIMIT]: pašlaik izmantotā atmiņa un maksimālā izmantojamā atmiņa.
[MEM %]: parāda atmiņas lietojumu procentos.
[NET I/O]: tīkla I/O dati.
[BLOCK I/O]: diska I/O dati.
[PIDS]:P ID numurs.

Docker atjaunināšanas komanda

Docker atjaunināšanas komanda dinamiski atjaunina konteinera konfigurāciju. Varat izmantot šo komandu, lai nepieļautu, ka konteineri patērē pārāk daudz resursu no saviem Docker resursdatoriem. Izmantojot vienu komandu, varat iestatīt ierobežojumus vienam konteineram vai vairākiem konteineriem. Lai norādītu vairākus konteinerus, norādiet konteineru nosaukumu vai ID sarakstu, kas atdalīti ar atstarpēm.

OPCIJAS Apraksts

vārds
apraksts
--blkio-svars
IO (relatīvais svars) bloķēšana no 10 līdz 1000, 0 ir atspējota (noklusējums nomākts)
--CPU-periods
Ierobežojiet CPU CFS (Totally Fair Scheduler) ilgumu
--CPU-kvota
Ierobežojiet CPU CFS (Completely Fair Scheduler) kvotas
--cpu-rt-periods
API 1.25+, kas ierobežo CPU reāllaika laiku līdz mikrosekundēm
--cpu-rt-izpildlaiks
API 1.25+, kas ierobežo CPU reāllaika izpildlaiku līdz mikrosekundēm
--CPU-akcijas, -c
CPU daļa (relatīvais svars)
--Cpu
API 1.29+, CPU skaits
--cpuset-cpus
Atļautais CPU (0-3,0,1)
--cpuset-mem
Atļautais MEM (0-3,0,1)
--kodola-atmiņa
Kodola atmiņas ierobežojumi
--atmiņas-maiņa
Mijmaiņas limits ir vienāds ar atmiņu plus maiņu, "-1", lai iespējotu neierobežotu apmaiņu
--atmiņas-rezervatio
Atmiņas mīkstais ierobežojums
--atmiņa, -m
Atmiņas ierobežojums
--pids-limits
API 1.40+, pielāgojiet konteineru pids ierobežojumus (-1 nozīmē neierobežotu)
--Restartējiet
Restartējiet politiku, lai to lietotu, kad konteiners tiek aiziets

Dokumentācija:Hipersaites pieteikšanās ir redzama.

Pieņemsim, ka jūs ierobežojat php5-fpm konteineruMaksimālais atmiņas lietojums 1024M (1G), komanda ir šāda:



(Beigas)




Iepriekšējo:HTML5 PostMessage starplogu saziņa
Nākamo:[Pagrieziens] Teikums Task.Result tiks bloķēts, kā citādi uzrakstīt šo kodu?
 Saimnieks| Publicēts 06.08.2022 13:58:43 |
Ja neesat iestatījis parametru --memory-swap, var tikt parādīts kļūdas ziņojums:

Kļūdas atbilde no dēmona: Nevar atjaunināt konteineru ae7884f515f96cadab65668d6a44e13bb899c1e7fd411abcc88577a79d4302a3: Atmiņas ierobežojumam jābūt mazākam par jau iestatīto atmiņas maiņas ierobežojumu, Vienlaikus atjauniniet MemorySwap
 Saimnieks| Publicēts 06.08.2022 14:31:57 |
Linux izmanto lookaizņemt, lai simulētu CPU lietojumu
https://www.itsvse.com/thread-10260-1-1.html
Publicēts 06.08.2022 15:52:44 |
Iemācieties mācīties
 Saimnieks| Publicēts 01.07.2023 21:46:50 |
Docker atmiņas, CPU un GPU izpildlaika opcijas:Hipersaites pieteikšanās ir redzama.

--atmiņas maiņas informācija

--memory-swap ir modifikatora karodziņš, kam ir jēga tikai tad, ja ir iestatīta arī --memory. Kad konteiners izmanto visu pieejamo RAM, izmantojot mijmaiņu, konteiners var ierakstīt liekās atmiņas prasības diskā. Lietojumprogrammām, kas bieži maina atmiņu uz disku, cieš veiktspēja.

Tās iestatījumiem var būt sarežģītas sekas:

Ja --memory-swap ir iestatīts uz pozitīvu veselu skaitli, tad abiem --memory jābūt iestatītiem uz --memory-swap. --memory-swap apzīmē kopējo atmiņas un mijmaiņas zonu daudzumu, ko var izmantot, un --memory kontrolē atmiņas apjomu, kas tiek izmantots ne-swap zonās. tāpēcJa --memory="300m" un --memory-swap="1g", konteiners var apmainīt vietu ar 300m atmiņu un 700m (1g - 300m).

Ja --memory-swap ir iestatīts uz 0, iestatījums tiek ignorēts un vērtība tiek uzskatīta par neiestatītu.

Ja --memory-swap ir iestatīta tāda pati vērtība kā --memory, un --memory ir iestatīts pozitīvs vesels skaitlis, konteineram nav piekļuves mijmaiņai。 Skatiet rakstu Konteineru neizmantošana mijmaiņas operācijās.

Ja --memory-swap nav iestatīts un --memory ir iestatīts, konteiners var izmantot tik daudz swap --memory, cik iestatīts (ja resursdatora konteiners ir konfigurēts ar mijmaiņas atmiņu). Piemēram, ja --memory="300m" un --memory-swap nav iestatīti, konteiners var izmantot 600 m atmiņas un mijmaiņas vietas.

Ja --memory-swap ir skaidri iestatīts uz -1, konteineram ir atļauts izmantot neierobežotu skaitu mijmaiņas līdz resurssistēmā pieejamajam skaitam.

Konteinera iekšpusē tādi rīki kā bezmaksas ziņo par resursdatoram pieejamām apmaiņām, nevis ziņo par konteinerā pieejamām apmaiņām. Nepaļaujieties uz bezmaksas vai līdzīgu rīku izvadi, lai noteiktu, vai apmaiņa pastāv.
 Saimnieks| Publicēts 16.02.2024 04:07:22 |

Ja --memory-swap nav iestatīts,-- atmiņa ir iestatīta uz vērtību,Noklusējums --memory-swap var izmantot to pašu atmiņu kā --memoryPiemēram, ja ,-- memory-swap=1G, varat izmantot 1G mijmaiņas vietu, un, visbeidzot, konteiners var izmantot 2G atmiņas (--memory 1G space + --memory-swap 1G space).

Tas nozīmē, ka, kad ir iestatīta atmiņa,-- atmiņas mijmaiņa var tikt saprasta kā kopējais atmiņas limits, un pieejamā mijmaiņas vieta ir vienāda ar atmiņas maiņas vērtību mīnus atmiņa.

Apskatiet konteinera --memory-swap konfigurāciju ar šādu komandu:



"Atmiņa": 536870912, // 512M=536870912/1024/1024/1024
"Atmiņas rezervācija": 0,
"MemorySwap": 1073741824, // 1G = 1073741824 / 1024 / 1024 / 1024
"MemorySwappiness": nulle,

Iepriekš minētā konfigurācija ir tāda, ka konteiners ierobežo atmiņu --memory=512M, un --memory-swap nav iestatīts.
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com