Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 7160|Отговор: 5

Docker модифицира и ограничава контейнерния процесор, памет и други ресурси

[Копирай линк]
Публикувано в 6.08.2022 г. 13:55:37 ч. | | | |
Изисквания: При създаване на docker контейнер можете да ограничите максималното използване на паметта на контейнера чрез добавяне на параметъра -m.

Ограничения на паметта за преглед на контейнера

Хост машината инсталира 8G памет и създава 3 контейнера, от които максималната памет на itsvse-redis контейнера е ограничена до 512M, а останалите два контейнера не са ограничени, както е показано на фигурата по-долу:



Подробно обяснение на формата на изходната информация

[КОНТЕЙНЕР]: Показва ID-то на контейнера в кратка форма.
CPU процент: Използване на процесора.
[MEM ИЗПОЛЗВАНЕ/ОГРАНИЧЕНИЕ]: Използваната в момента памет и максималната памет, която може да се използва.
[MEM %]: Показва използването на памет като процент.
[NET I/O]: Мрежови входно-изходни данни.
[БЛОК ВХОДНО/ИЗХОД]: Данни за вход/изход на диска.
[PIDS]:P ID номер.

Команда за актуализация на Docker

Командата Docker Update динамично обновява конфигурацията на контейнера. Можете да използвате тази команда, за да предотвратите консумацията на твърде много ресурси от Docker хостовете им. С една команда можеш да зададеш лимити за един или няколко контейнера. За да определите множество контейнери, осигурете списък с имена или ID-та на контейнери, разделени с интервали.

Описание на ОПЦИИТЕ

Име
описание
--blkio-weight
Блокиращ вход (относително тегло), между 10 и 1000, 0 е изключен (по подразбиране потиснат)
--CPU-точка
Ограничете продължителността на CPU CFS (Totally Fair Scheduler)
--cpu-quota
Ограничете CFS (Напълно справедлив планировчик) квоти за CPU
--cpu-rt-точка
API 1.25+, който ограничава реалното време на процесора до микросекунди
--cpu-rt-runtime
API 1.25+, който ограничава реалното време на процесора до микросекунди
--cpu-shares, -c
Дял на процесора (относително тегло)
--Процесори
API 1.29+, брой процесори
--cpuset-cpus
Разрешен процесор (0-3,0,1)
--cpuset-mem
Позволено MEM (0-3,0,1)
--kernel-memory
Ограничения на паметта на ядрото
--swap с памет
Лимитът за swap е равен на памет плюс swapping, "-1" за неограничено разменяне
--memory-reservatio
Мека граница на паметта
--памет, -м
Лимит на паметта
--pids-limit
API 1.40+, коригирайте лимитите на контейнерните PID (-1 означава неограничени)
--Рестартирате
Рестартирайте политиката, за да приложите, когато контейнерът излезе

Документация:Входът към хиперлинк е видим.

Да предположим, че ограничите контейнера php5-fpmМаксимална употреба на памет 1024M (1G), командата е следната:



(Край)




Предишен:HTML5 PostMessage комуникация през прозорци
Следващ:[Завърти се] Изречение. Задача. Резултатът ще бъде заключен, как иначе да напиша този код?
 Хазяин| Публикувано в 6.08.2022 г. 13:58:43 ч. |
Ако не зададете параметъра --memory-swap, може да получите грешка:

Отговор на грешка от daemon: Не може да се актуализира контейнер ae7884f515f96cadab65668d6a44e13bb899c1e7fd411abcc88577a79d4302a3: Лимитът на паметта трябва да е по-малък от вече зададения limit, Актуализирай Memoryswap едновременно
 Хазяин| Публикувано в 6.08.2022 г. 14:31:57 ч. |
Linux използва lookbusy, за да симулира използването на процесора
https://www.itsvse.com/thread-10260-1-1.html
Публикувано в 6.08.2022 г. 15:52:44 ч. |
Научи се да учиш
 Хазяин| Публикувано в 1.07.2023 г. 21:46:50 ч. |
Опции за изпълнение на Docker памет, процесор и видеокарта:Входът към хиперлинк е видим.

--детайли за смяна на паметта

--memory-swap е модификаторен флаг, който има смисъл само ако --паметта също е зададена – Когато контейнерът изразходва цялата налична RAM, използването на swap позволява на контейнера да записва излишни изисквания за памет на диска. За приложения, които често сменят памет с диск, производителността страда.

Неговите настройки могат да имат сложни ефекти:

Ако --memory-swap е зададена на положително цяло число, тогава и двете --памети трябва да бъдат настроени на --memory-swap. --memory-swap представлява общото количество памет и swap зони, които могат да се използват, а --паметта контролира количеството използвана памет в не-swap зони. следователноАко --memory="300m" и --memory-swap="1g", контейнерът може да разменя пространството с 300m памет и 700m (1g - 300m).

Ако --memory-swap е зададено на 0, настройката се игнорира и стойността се счита за незададена.

Ако --memory-swap е зададена на същата стойност като --memory и --memory е зададена на положително цяло число, контейнерът няма достъп до swap。 Вижте Предотвратяване на използването на суапове в контейнери.

Ако --memory-swap не е зададен и --memory е зададен, контейнерът може да използва толкова swap --memory, колкото е зададено (ако хост контейнерът е конфигуриран със swap памет). Например, ако --memory="300m" и --memory-swap не са зададени, контейнерът може да използва общо 600 m памет и swap пространство.

Ако --memory-swap е изрично зададено на -1, контейнерът може да използва неограничен брой swap-и, до броя, наличен на хост системата.

Вътре в контейнера инструменти като free отчитат наличните обмени за хоста, вместо да докладват за наличните обмени в контейнера. Не разчитайте на резултатите от безплатни или подобни инструменти, за да определите дали има борса.
 Хазяин| Публикувано в 16.02.2024 г. 4:07:22 ч. |

Ако --memory-swap не е зададена,-- паметта се задава на стойност,Стандартният ---memory-swap може да използва същата памет като --memoryНапример, ако ,-- memory-swap=1G, можете да използвате 1G swap пространство, а накрая контейнерът може да използва 2G памет (--memory 1G пространство + --memory-swap 1G пространство).

Това означава, че когато --паметта е зададена,-- swap-swap може да се разбере като общият лимит на паметта, а наличното swap пространство е равно на стойността на swap-swap паметта минус паметта.

Вижте конфигурацията контейнер --memory-swap със следната команда:



"Памет": 536870912, // 512M=536870912/1024/1024/1024/1024
"MemoryReservation": 0,
"MemorySwap": 1073741824, // 1G=1073741824/1024/1024/1024
"MemorySwappiness": null,

Горната конфигурация е, че контейнерът ограничава паметта --memory=512M, а --memory-swap не е зададен.
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com