Ответ
Для мониторинга загрузки CPU в DevOps-практике я использую несколько инструментов в зависимости от задачи:
-
topилиhtop: Для интерактивного анализа в реальном времени.htopудобнее благодаря цветному выводу и управлению с помощью мыши.htop -
mpstat(из пакетаsysstat): Лучший инструмент для получения структурированных данных из скриптов или для быстрой проверки. Он показывает разбивку по всем ядрам.# Выводить статистику каждую секунду, 3 раза mpstat 1 3Вывод показывает ключевые метрики:
%usr,%sys,%iowait,%idle. -
vmstat: Показывает не только загрузку CPU, но и активность памяти, свопа и ввода/вывода, что полезно для комплексной диагностики.vmstat 1 -
Чтение виртуальной файловой системы
/proc: Полезно для кастомных скриптов мониторинга.# Мгновенная загрузка CPU (агрегированная по всем ядрам) grep '^cpu ' /proc/stat | awk '{print ($2+$4)*100/($2+$4+$5)}'
В контексте автоматизации и мониторинга (например, с Prometheus) мы настраивали экспортеры (node_exporter), которые собирали эти метрики и предоставляли их в виде временных рядов для построения графиков в Grafana и настройки алертов.