Высокая загрузка CPU в Docker
Docker-контейнеры добавляют небольшой слой накладных расходов, но высокая загрузка CPU обычно вызвана приложением внутри контейнера, а не самим Docker.
Common symptoms
- dockerd или containerd заметно нагружает CPU
- Нагрузка в контейнерах замедляется
- CPU хоста резко растёт во время операций с контейнерами
Likely causes
- Нагрузка приложения внутри контейнеров
- Слишком много контейнеров на одном хосте
- Накладные расходы overlay-файловой системы
- Накладные расходы на логирование или проверки работоспособности
Evidence to look for
Метрики CPU на уровне контейнеров показывают наиболее нагруженные контейнеры
CPU dockerd растёт во время сборки или скачивания образов
IO на уровне хоста растёт во время активности контейнеров
What it usually means
Большинство проблем с CPU в Docker на самом деле связаны с приложением внутри контейнеров. Реальные накладные расходы самого Docker встречаются редко, но возможны во время операций с образами.
What to do next
- 1Профилируйте приложение внутри наиболее нагруженного контейнера
- 2Проверьте лимиты CPU для контейнеров и ресурсы хоста
- 3Снизьте детализацию логирования и частоту проверок работоспособности
See what's causing your CPU
cpum.ai turns CPU, process, disk, and memory signals into plain-English explanations with evidence.
Open cpum.ai