Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 7160|Válasz: 5

A Docker módosítja és korlátozza a konténer CPU-t, memóriát és egyéb erőforrásokat

[Linket másol]
Közzétéve 2022. 08. 06. 13:55:37 | | | |
Követelmények: Docker konténer létrehozásakor korlátozhatod a konténer maximális memóriahasználatát a -m paraméter hozzáadásával.

Átnéző konténer memóriakorlátok

A hasztgép telepít egy 8G memóriakart, és három konténert hoz létre, amelyek közül az itsvse-redis konténer maximális memóriája 512M-re korlátozott, a maradék két konténer pedig nem korlátozott, ahogy az alábbi ábrán látható:



A kimeneti információs formátum részletes magyarázata

[KONTÉNER]: Rövid formában jeleníti meg a konténer azonosítóját.
CPU %: CPU használat.
[MEM HASZNÁLAT/LIMIT]: A jelenleg használt memória és a maximális használható memória.
[MEM %]: A memóriahasználatot százalékban jeleníti meg.
[NET I/O]: Hálózati I/O adatok.
[BLOKK I/O]: Lemez I/O adatok.
[PIDS]:P azonosító szám.

Docker update parancs

A docker update parancs dinamikusan frissíti a konténer konfigurációját. Ezt a parancsot arra használhatod, hogy megakadályozd, hogy a konténerek túl sok erőforrást fogyasztsanak el a Docker hoszteiktól. Egyetlen parancsgal korlátokat állíthatsz egyetlen konténerre vagy több konténerre. Több konténert megadni szeretne egy konténernevek vagy azonosítók listáját, amelyeket szóközek választanak el.

OPCIÓK Leírás

név
leírás
--blkio-súly
Az IO (relatív súly) blokkolása, 10 és 1000 között 0 ki van tiltva (alapértelmezett elnyomva)
--CPU-pont
Korlátozd a CPU CFS (Totally Fair Scheduler) időtartamát
--CPU-kvóta
Korlátozd a CPU CFS (teljesen tisztességes ütemező) kvótákat
--cpu-rt-pont
API 1.25+, amely a CPU valós idejű idejét mikroszekundumokra korlátozza
--cpu-rt-runtime
API 1.25+, amely a CPU valós idejű futását mikroszekundumokra korlátozza
--CPU-megosztások, -c
CPU részesedése (relatív súly)
--Cpu
API 1.29+, CPU-k száma
--cpuset-cpus
Engedélyezett CPU (0-3,0,1)
--cpuset-mem
Engedélyezett MEM (0-3,0,1)
--kernel-memory
Kernel memóriakorlátok
--memóriacserét
A swap limit megegyezik a memória plusz cserével, "-1", hogy korlátlan cserét engedélyezzen
--memória-tartalék
Memória lágy korlát
--emlék, -m
Memóriakorlát
--pids-limit
API 1.40+, konténer-pids korlátok beállítása (-1 jelentése korlátlan)
--újraindítás
Indítsd újra a szabályzatot, hogy érvényesüljön, amikor a konténer kilép

Dokumentáció:A hiperlink bejelentkezés látható.

Tegyük fel, hogy korlátozod a php5-fpm konténertMaximális memóriahasználat: 1024M (1G), a parancs a következő:



(Vége)




Előző:HTML5 PostMessage ablakos kommunikáció
Következő:[Fordul] Egy mondat: Feladat.Eredmény zárolódik, hogyan írhatnánk másért ezt a kódot?
 Háziúr| Közzétéve 2022. 08. 06. 13:58:43 |
Ha nem állítod be a --memory-swap paramétert, hibát kaphatsz:

Hibaválasz a daemontól: Nem lehet frissíteni a konténert ae7884f515f96cadab65668d6a44e13bb899c1e7fd411abcc88577a79d4302a3: A memóriakorlátnak kisebbnek kell lennie, mint a már beállított memóriacsere korlát, Frissítsd a memóriacserét egyszerre
 Háziúr| Közzétéve 2022. 08. 06. 14:31:57 |
A Linux a lookbusy segítségével szimulálja a CPU-használatot
https://www.itsvse.com/thread-10260-1-1.html
Közzétéve 2022. 08. 06. 15:52:44 |
Tanulj meg
 Háziúr| Közzétéve 2023. 07. 01. 21:46:50 |
Futtatóidejű beállítások Docker memóriához, CPU-hoz és GPU-hoz:A hiperlink bejelentkezés látható.

--memóriacsere részletei

--memory-swap egy módosító zászló, amely csak akkor érthető, ha --memory is be van állítva. Amikor egy konténer felhasználja az összes elérhető RAM-ot, a swap lehetővé teszi, hogy a konténer felesleges memóriaigényeket írjon a lemezre. Azoknál az alkalmazásoknál, amelyek gyakran cserélnek memóriát lemezre, a teljesítmény romlik.

A beállítások összetett hatásokat válthatnak ki:

Ha a --memory-swap pozitív egész számra van állítva, akkor mindkét --memóriát --memory-swapra kell állítani. --memória-swap a használható memória- és cserezónák teljes mennyiségét jelenti, míg a --memória szabályozza, mennyi memóriát használ a nem swap zónákban. következésképpenHa --memory="300m" és --memory-swap="1g", akkor a konténer helyet cserélhet 300m memóriával és 700m-rel (1g - 300m).

Ha a --memory-swap 0-ra van állítva, akkor a beállítást figyelmen kívül hagyjuk, és az értéket nem állítják be.

Ha a --memory-swap ugyanarra az értékre van állítva, mint a --memory, és a --memory pozitív egész számra van állítva, akkor a konténer nem fér hozzá a swaphoz。 Lásd: A konténerek cserék megakadályozása.

Ha a --memory-swap nincs beállítva, és --memory be van állítva, a konténer annyi swap --memóriát használhat, amennyit beállított (ha a host konténer swap memóriával van konfigurálva). Például, ha a --memory="300m" és a --memory-swap nincsenek beállítva, a konténer összesen 600m memóriát és swap helyet használhat.

Ha a --memory-swap explicit módon -1-re van állítva, a konténer korlátlan számú swapot használhat, legfeljebb a host rendszerben elérhető számig.

A konténeren belül olyan eszközök, mint például ingyenes jelentés a gazda számára elérhető csereprogramokról, nem pedig a konténeren belüli cserepiacokról. Ne támaszkodj ingyenes vagy hasonló eszközök kimenetére annak megállapítására, hogy létezik-e csere.
 Háziúr| Közzétéve 2024. 02. 16. 4:07:22 |

Ha a --memory-swap nincs beállítva,-- akkor a memória egy értékre van állítva,A --memória-swap alapértelmezett ugyanazt a memóriát használhatja, mint a --memoryPéldául, ha ,-- memória-swap=1G-t, akkor használhatsz 1G swap helyet, végül pedig a konténer 2G memóriát használhat (--memória 1G tér + --memória-swap 1G tér).

Ez azt jelenti, hogy amikor --memória be van állítva,-- a memóriacsere érthető, mint a teljes memória limit, és a swap hely megegyezik a memóriacsere mínusz memória értékével.

Nézze meg a konténer --memory-swap konfigurációt a következő parancsval:



"Memória": 536870912, // 512M=536870912/1024/1024/1024
"MemóriaFoglalás": 0,
"MemorySwap": 1073741824, // 1G=1073741824/1024/1024/1024
"MemóriaCserélődés": null,

A fenti konfiguráció szerint a konténer korlátozza a memóriát --memory=512M, és --memory-swap nincs beállítva.
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com