Настройка лимитов потребления ресурсов

Настройка лимитов потребления ресурсов

Для предотвращения перерасхода ресурсов стенда можно настроить лимиты потребления CPU и памяти для контейнеров. При превышении заданных ограничений срабатывает встроенный механизм Docker OOM Killer, который произведёт перезапуск соответствующих контейнеров ClickHouse, JDBC Bridge и сервисов мониторинга. Это позволяет защитить систему от неконтролируемого потребления ресурсов отдельными компонентами.

Настройка выполняется в файле v3/defaults.env – значения указываются в процентах от общего объёма доступных ресурсов. По умолчанию установлены следующие параметры:

CLICKHOUSE_CONTAINER_MEMORY_LIMIT_PERCENT=90 CLICKHOUSE_CPU_LIMIT_PERCENT=95 JDBC_BRIDGE_MEMORY_LIMIT_PERCENT=50 JDBC_BRIDGE_CPU_LIMIT_PERCENT=80 OTELCOL_MEMORY_LIMIT_PERCENT=20 OTELCOL_CPU_LIMIT_PERCENT=20 LOKI_MEMORY_LIMIT_PERCENT=20 LOKI_CPU_LIMIT_PERCENT=20 TEMPO_MEMORY_LIMIT_PERCENT=20 TEMPO_CPU_LIMIT_PERCENT=20 PROMTAIL_MEMORY_LIMIT_PERCENT=20 PROMTAIL_CPU_LIMIT_PERCENT=20 GRAFANA_MEMORY_LIMIT_PERCENT=20 GRAFANA_CPU_LIMIT_PERCENT=20 PROMETHEUS_MEMORY_LIMIT_PERCENT=20 PROMETHEUS_CPU_LIMIT_PERCENT=20 CADVISOR_MEMORY_LIMIT_PERCENT=20 CADVISOR_CPU_LIMIT_PERCENT=20 NODE_EXPORTER_MEMORY_LIMIT_PERCENT=20 NODE_EXPORTER_CPU_LIMIT_PERCENT=20

Особенность настройки ClickHouse
Лимит памяти контейнера ClickHouse (CLICKHOUSE_CONTAINER_MEMORY_LIMIT_PERCENT, по умолчанию 90% RAM на хосте) устанавливает предел потребления памяти контейнером, а параметр CLICKHOUSE_MEMORY_LIMIT_RATIO (по умолчанию 0,9, что соответствует 90% выделенной под контейнер памяти) указывает сколько максимально памяти из этого лимита будет потребляться в процессе работы самого ClickHouse. Таким образом контейнер никогда не будет перезапущен по причине OOM.

После изменения параметров в файле v3/defaults.env требуется перезапустить платформу, чтобы новые лимиты вступили в силу.

 

Нужна дополнительная помощь?

Свяжитесь с технической поддержкой.