Ответ
Load Average (LA) в Linux — это три числовых значения, которые показывают среднюю нагрузку на систему за последние 1, 5 и 15 минут. Этот показатель отражает количество процессов, которые в данный момент выполняются на CPU, а также тех, что находятся в очереди на выполнение или в состоянии непрерываемого ожидания (uninterruptible sleep), как правило, ожидая завершения операции ввода-вывода (I/O).
Как посмотреть:
Команды в терминале:
# Наиболее распространенный способ
uptime
# 10:30:00 up 10 days, 2:15, 1 user, load average: 0.15, 0.20, 0.25
# Прямое чтение из псевдо-файловой системы proc
cat /proc/loadavg
# 0.15 0.20 0.25 1/234 12345
Интерпретация значений:
Значения LA следует соотносить с количеством ядер (или потоков) CPU в системе.
- LA < количества ядер: Система справляется с нагрузкой, есть свободные ресурсы.
- LA ≈ количеству ядер: Система полностью утилизирована, но еще не перегружена.
- LA > количества ядер: Система перегружена. Процессы стоят в очереди, ожидая доступа к CPU, что приводит к задержкам и снижению производительности.
Пример на Python:
import os
# os.getloadavg() возвращает кортеж с LA за 1, 5 и 15 минут
load1, load5, load15 = os.getloadavg()
print(f"Load Average (1/5/15 min): {load1:.2f}, {load5:.2f}, {load15:.2f}")
Важный нюанс: Высокий Load Average при низкой утилизации CPU (по выводу top или htop) часто указывает на проблемы с производительностью дисковой подсистемы (I/O wait), а не на нехватку процессорного времени.