Почему Load Average в Linux показывает три числа?

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

Ответ

Load Average — это среднее значение количества процессов, находящихся в состоянии "выполняемы" (runnable) или "непрерываемого сна" (uninterruptible sleep), за три периода времени: 1, 5 и 15 минут.

Зачем нужны три значения? Они показывают тренд нагрузки во времени, что помогает отличить кратковременный всплеск от длительной перегрузки.

  • 1-минутное значение: Показывает текущую, мгновенную нагрузку. Резкий скачок здесь может быть нормой.
  • 5-минутное значение: Сглаженный показатель, хороший индикатор текущей оперативной нагрузки.
  • 15-минутное значение: Показывает долгосрочный тренд. Высокое значение здесь указывает на устойчивую проблему.

Интерпретация на примере вывода uptime:

$ uptime
 16:48:24 up 10 days,  1:24,  1 user,  load average: 2.50, 1.20, 0.60
  • 2.50 (1 мин): Сейчас система испытывает высокую нагрузку (например, запущен тяжёлый процесс).
  • 1.20 (5 мин): Нагрузка за последние 5 минут была умеренной.
  • 0.60 (15 мин): В целом за последние 15 минут система была малонагруженной.

Критический уровень: Значение считается высоким, если оно превышает количество доступных CPU ядер. Например, для 4-ядерной системы:

  • 0.50 — система почти простаивает.
  • 4.00 — ядра загружены полностью.
  • 8.00 — процессы в очереди, в два раза больше, чем ядер может обработать.