Какие параметры CPU важны для мониторинга и настройки в Linux?

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

Ответ

С точки зрения DevOps и системного администрирования, ключевые параметры CPU для мониторинга производительности и планирования ресурсов:

  • Количество ядер и потоков: Определяет потенциал параллельной обработки. Важно для настройки воркеров (например, в Nginx, Java-приложениях).

    nproc                           # Показать количество доступных ядер
    lscpu | grep -E "^CPU(s):|Thread(s) per core"
  • Нагрузка (Load Average): Средняя длина очереди процессов, ожидающих выполнения, за 1, 5 и 15 минут. Значение, превышающее количество ядер, указывает на перегрузку.

    uptime
    cat /proc/loadavg
  • Утилизация (%CPU): Процент времени, которое процессор проводит, выполняя не-простаивающие задачи. Мониторится утилитами top, htop, vmstat.

    top -b -n 1 | grep "%Cpu(s)"
  • Частота и губернатор: Текущая частота и политика управления энергопотреблением (performance, powersave).

    lscpu | grep MHz
    cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
  • Прерывания и контекстные переключения: Высокие значения могут указывать на проблемы с драйверами или чрезмерную активность процессов.

    vmstat 1 5                    # Смотреть на столбцы 'in' (прерывания) и 'cs' (переключения)

Практическое применение: Эти метрики собираются агентами (node_exporter для Prometheus) и анализируются в Grafana. На их основе настраиваются алерты, принимаются решения о вертикальном/горизонтальном масштабировании и оптимизируется конфигурация приложений.