架构师_程序员_码农网

Имя пользователя Получить пароль
Регистрация

QQ登录

Всего один шаг, чтобы начать

Поиск
Просмотров:3577|Ответов: 5
打印 上一主题 下一主题

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

[скопировать ссылку].
Подъемник прямо к 跳转到指定楼层
владелец
发表于 2022-8-6 13:55:37|只看该作者回帖奖励|Реверсивныйпросмотр|Режим чтения
Требование: При создании контейнера docker можно ограничить максимальное использование памяти контейнера, добавив параметр -m. Если контейнер уже создан, как можно динамически изменять и ограничивать процессор, память и другие ресурсы контейнера?

Просмотр ограничений памяти контейнера

На хост-компьютере установлена карта памяти объемом 8 Гб, и создано три контейнера, в которых контейнер itsvse-redis ограничен в использовании максимум 512 М памяти, а остальные два контейнера не ограничены, как показано на следующем рисунке:



Формат выходного сообщения

[CONTAINER]: отображение идентификатора контейнера в коротком формате.
[CPU %]: использование процессора.
[MEM USAGE / LIMIT]: текущий объем используемой памяти и максимальный объем памяти, который может быть использован.
[MEM %]: отображение использования памяти в процентах.
[NET I/O]: данные сетевого ввода/вывода.
[BLOCK I/O]: данные дискового ввода/вывода.
[PIDS]: номер PID.

Команда обновления докера

Команда docker update динамически обновляет конфигурацию контейнера. С помощью этой команды можно предотвратить потребление контейнерами слишком большого количества ресурсов хоста Docker. С помощью одной команды можно установить ограничения для одного контейнера или для нескольких контейнеров. Чтобы указать несколько контейнеров, укажите список имен или идентификаторов контейнеров, разделенных пробелами.

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

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

Документация: https: //docs.docker.com/engine/reference/commandline/update/

Если предположить, что контейнер php5-fpm имеет ограничение на использование максимум 1024M (1G) памяти, то команда выглядит следующим образом:



(Окончание)




Предыдущая статья: Кросс-оконное взаимодействие HTML5 PostMessage
Следующая статья: [转一篇]一句 Task.Result в тупике, этот код еще как написать?
收藏转播分享Коллекция0 Трансляция
Код фермерской сети, публикуется только в процессе практики, столкнувшись с техническими трудностями, не вводите в заблуждение других.
трикотаж
楼主|发表于 2022-8-6 13:58:43|只看该作者
Если не задать параметр --memory-swap, может возникнуть ошибка:

Error response from daemon: Cannot update container ae7884f515f96cadab65668d6a44e13bb899c1e7fd411abcc88577a79d4302a3: Memory limit should be меньше, чем уже установленный лимит memoryswap, обновите memoryswap в то же время
Код фермерской сети, только опубликованные в процессе практики, столкнулись с техническими трудностями, не вводите в заблуждение других.
сапоги угги продажа
Скамейки
楼主|发表于 2022-8-6 14:31:57|只看该作者
Впервые я увидел это в Linux, и я увидел это в Интернете, и я увидел это в Интернете, и я увидел это в Интернете.
h ttps:// www.itsvse.com/thread-10260-1-1.html
Код фермерской сети, публикуется только в процессе практики, возникли технические трудности, не вводите других в заблуждение.
сапоги угги продажа
Я не уверен, что смогу это сделать.
Код фермерской сети, публикуется только в процессе практики, возникли технические трудности, не вводите в заблуждение других.
5#
楼主|发表于 2023-7-1 21:46:50|只看该作者
Параметры выполнения Docker для памяти, CPU и GPU: https: //docs.docker.com/config/containers/resource_constraints/

--memory-swap details

--memory-swap - это флаг-модификатор, который имеет смысл только в том случае, если также установлен флаг -memory. use-swap позволяет контейнерам записывать избыточные потребности в памяти на диск, когда они исчерпали всю доступную оперативную память. Для приложений, которые часто обменивают память на диск, это может привести к снижению производительности.

Его настройка может иметь сложные последствия:

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

Если параметр --memory-swap имеет значение 0, то настройка игнорируется и значение считается не установленным.

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

Если значение --memory-swap не задано, а значение --memory задано, контейнер может использовать столько swap --memory, сколько задано (если главный контейнер настроен на использование swap-памяти). Например, если --memory="300m" и --memory-swap не заданы, контейнер может использовать в общей сложности 600m памяти и пространства подкачки.

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

Внутри контейнера такие инструменты, как free, сообщают о свопах, доступных хосту, а не о свопах, доступных внутри контейнера. Не полагайтесь на результаты работы free или аналогичных инструментов для определения наличия обменов.
Кодер, опубликованный только в ходе практики, столкнулся с техническими трудностями, не вводите других в заблуждение.
6#
楼主|发表于 2024-2-16 04:07:22|只看该作者

Если --memory-swap не задано, а --memory задает значение, то --memory-swap по умолчанию может использовать ту же память, что и --memory, например, --memory=1G, затем --memory-swap=2G (что фактически использует 1G пространства подкачки), и в конечном итоге контейнер может использовать 2G ( --memory 1G + --memory-swap 1G) памяти.

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

Чтобы просмотреть конфигурацию контейнера --memory-swap, выполните следующую команду:



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

Приведенная выше конфигурация представляет собой контейнер, ограничивающий память --memory=512M, при этом параметр --memory-swap не установлен.
Код фермерской сети, публикуется только в процессе практики, возникли технические трудности, не вводите в заблуждение других.
Вы должны войти в систему, прежде чем сможете отправлять сообщения назад Войти | Зарегистрироваться

Эта версия интегральных правил


DISCLAIMER: Все программное обеспечение, материалы по программированию или статьи, опубликованные Code Farmer, предназначены только для использования в учебных и исследовательских целях; вышеуказанное содержимое не должно использоваться в коммерческих или незаконных целях, в противном случае все последствия будут возложены на самих пользователей. Это сайт информации из сети, спор об авторских правах не имеет никакого отношения к этому сайту. Вы должны полностью удалить вышеуказанное содержимое со своего компьютера в течение 24 часов после загрузки. Если вам понравилась программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшее подлинное обслуживание. Если есть какие-либо нарушения, пожалуйста, свяжитесь с нами по электронной почте, чтобы разобраться с этим.

Почта To:help@itsvse.com

QQ| ( 鲁ICP备14021824号-2)|Sitemap

GMT+8, 2024-9-19 04:56

Быстрый ответНазад к началуНазад к списку