Страницы

Поиск по вопросам

суббота, 4 апреля 2020 г.

Вопросы по docker'у

#linux #docker

                    
Зашел сегодня на vps и увидел загрузку cpu под 100%, потом посмотрел статистику по
контейнерам и заметил такую занимательную вещь:

CONTAINER           CPU %               MEM USAGE / LIMIT     MEM %             
 NET I/O               BLOCK I/O
kibana              96.45%              536.8 MB / 536.9 MB   99.99%            
 884.5 MB / 306.2 MB   2.682 TB / 5.369 GB


Отсюда несколько вопросов:


Как ограничить использование cpu докером или может есть софт, который сам прибивает
процессы, если они выходят за определенные рамки?
Что значат 2 последних столбца и откуда терабайты в последнем?

    


Ответы

Ответ 1



Документация, сэр. Можно настроить пропорцию выделяемого контейнеру (конкретному!) процессорного времени с помощью параметра cpu-shares (по умолчанию "всем поровну", по 1024); а можно задать параметры для CFS: cpu-quota процессорного времени за cpu-period реального: настраиваются оба, целыми числами в микросекундах (1000..1 000 000). Все параметры задаются при docker run. Shares мягче, с ними контейнеру позволяется забирать почти весь процессор, если больше им никто особо не пользуется; когда CFS ставит "жёсткий потолок на все времена". Общий объём операций ввода/вывода над "блочными устройствами", например дисками. Чтение одних и тех же данных, при условии отсутствия кэширования, будет каждый раз увеличивать этот счётчик, поэтому это число вполне себе может превышать общий объём всех подключенных устройств. То же самое с записью: перезапись данных счётчиком учитывается, как обычная запись.

Комментариев нет:

Отправить комментарий