Почему в Linux показатели нагрузки (CPU, память, I/O) измеряются в процентах?

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

Ответ

Использование процентов — это стандартизированный и масштабируемый способ представления утилизации ресурсов, который позволяет легко сравнивать нагрузку на системах с разной аппаратной конфигурацией. Процент рассчитывается относительно общего доступного ресурса (например, всех ядер CPU или всей оперативной памяти).

Практический пример из мониторинга: При настройке алертов в Prometheus для серверов разной мощности я использую процентные метрики, чтобы задать единые пороги (например, CPU usage > 80%), которые будут корректно работать как на виртуальной машине с 2 ядрами, так и на физическом сервере с 32 ядрами.

# Пример вывода утилизации CPU из top или mpstat
# %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
mpstat 1 1
Linux 5.4.0 (...)   04/11/25     _x86_64_    (4 CPU)

14:32:15     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
14:32:16     all   25.50    0.00    4.50    1.25    0.00    0.25    0.00    0.00    0.00   68.50

Здесь %idle = 68.5% означает, что 68.5% вычислительной мощности всех 4 ядер простаивает. Абсолютные значения (например, 2.5 GHz из 3.0 GHz) были бы менее информативны для быстрой оценки состояния системы.