Load Average на пальцах

Опубликовано 17 нояб. 2025 г.

Все про него знают, но не все понимают.

Давай рассмотрим такие цифры:

0.30  1.20  0.80
  1. За последнюю 1 минуту средняя очередь = 0.30
  2. за 5 минут = 1.20
  3. за 15 минут = 0.80

Сразу куча вопросов, а что такое «очередь»?

«очередь» == количество задач, которые хотят работать прямо сейчас, но процессоров не хватает, чтобы заняться всеми сразу.

ЧИТАТЬ ПЕРВЫМ В ТЕЛЕГРАМ   ЧИТАТЬ ПЕРВЫМ В MAX

Главное правило

Сравниваем Load Average с количеством ядер.

  • У тебя 4 ядра → нормальная нагрузка = до 4.0
  • У тебя 1 ядро → нормальная нагрузка = до 1.0
  • У тебя 8 ядер → нормальная нагрузка = до 8.0

Всё в порядке:

  • LA ≤ количество ядер → CPU успевает всё делать, очередей нет.

Чёт уже не то, подгрузилось:

  • LA ≈ количество ядер × 1–2 → процессы начинают стоять в очереди, но система пока еще жива.

Жопа:

  • LA сильно > количества ядер → процессы стоят в очереди, всё тормозит.

Теперь на котиках

Ты стоишь в магазине:

  • 1 касса, 1 человек в очереди → заебись
  • 1 касса, 10 человек в очереди → жопа
  • 4 кассы, 6 человек → пока норм

CPU = кассы, Load Average == очередь.

LA это не про загрузку CPU в процентах — это просто «очередь».

Как задебажить

Берем top, htop или подобное и смотрим столбец %CPU, если один процесс жрёт 100% на однопроцессорной системе — он пидарас и забил ядро. Если процесс жрёт 300% на 4-ядерной — он занял 3 ядра.

Смотрим самых прожорливых пидарасов:

ps aux --sort=-%cpu | head

Если ничего не нашел, то смотрим в сторону:

  • I/O wait — медленный диск / много дисковых операций
  • много процессов, но каждый почти ничего не ест (fork storm)
  • сеть или блокировки

Капля в море, но это базовый чеклист на ситуацию, когда сервер ушел в «полку».

А ты добавляй в комменты, что еще можно вынести в дебаг, будет полезно.

Комментарии