Какая команда в Linux показывает проценты загрузки CPU?

«Какая команда в Linux показывает проценты загрузки CPU?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для мониторинга загрузки 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 и настройки алертов.