Короткий ответ
Load average — среднее число процессов, готовых к выполнению или ожидающих ввода-вывода, за последние 1/5/15 минут; %CPU — доля процессорного времени, потребляемая процессом; %MEM — доля физической памяти, занятой процессом (RSS относительно общего объёма RAM).
Как это работает подробнее
Load average растёт при увеличении очереди к планировщику ядра — как из-за нехватки CPU, так и из-за процессов, ожидающих диск или сеть в состоянии uninterruptible sleep (D); сравнение load average с числом ядер CPU даёт грубую оценку, насколько система перегружена.
Пример кода
commands.sh
uptime
top -b -n1 | head -15Что использовать на практике
- Практика. load average около числа ядер или ниже считается нормальным, значение заметно выше числа ядер — сигнал к дальнейшей диагностике (через vmstat/iostat — упирается CPU или диск); %MEM полезно смотреть вместе с available memory, а не только с занятой.
Подводные камни
- Риск. Частая ошибка — делать вывод «сервер перегружен по CPU» только по высокому load average, не проверив iowait: часто высокий load связан с медленным диском или сетевым хранилищем, а не с нехваткой процессора.