#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 ставит "жёсткий потолок на все времена". Общий объём операций ввода/вывода над "блочными устройствами", например дисками. Чтение одних и тех же данных, при условии отсутствия кэширования, будет каждый раз увеличивать этот счётчик, поэтому это число вполне себе может превышать общий объём всех подключенных устройств. То же самое с записью: перезапись данных счётчиком учитывается, как обычная запись.
Комментариев нет:
Отправить комментарий