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