Linux Labs

Система изнутри: ресурсы, ядро, процессы / Ступень 1 из 12

Load average и загрузка процессора

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 2 из 7 · теория · 5 мин

Что считает load average

Load average растёт от процессов, которым есть чем заняться прямо сейчас, — даже если процессор им не нужен.

uptime печатает время работы машины и три числа load average — средние за последние 1, 5 и 15 минут. Каждое число — сколько процессов в среднем было в одном из двух состояний:

  • R — процесс работает на процессоре или ждёт очереди к нему. Это состояние ты видел в столбце STAT у ps.
  • D — процесс ждёт, пока закончится операция с диском или файловой системой, и прервать это ожидание нельзя.

Load average сравнивают с числом процессоров из nproc. На одном процессоре load 1 значит, что процессор был занят всё время; 3 — что в среднем три процесса хотели работать или ждали диск. Когда load растят процессы в R, процессор занят и id в top около нуля. У тебя процессор свободен — значит, load average набирают процессы в D.

Три числа показывают направление. Первое больше последнего — нагрузка выросла за последние минуты; меньше — спадает. У тебя первое число больше 3, а последнее меньше 1: процессы застряли недавно. Среднее догоняет текущее состояние постепенно — примерно за минуту первое число проходит две трети пути. Поэтому оно растёт и спадает плавно, даже когда процессы появились или пропали разом.

Проверь себя 1 вопрос

На сервере с двумя процессорами uptime печатает load average: 0.40, 1.90, 2.10. Что происходит с нагрузкой?

  • Прямо сейчас ближе всего первое число — 0.40 на двух процессорах. Очередь была почти полной раньше: 2.10 — среднее за 15 минут.

  • Первое число — последняя минута, последнее — 15 минут. 0.40 за минуту меньше 2.10 за 15 минут: нагрузки стало меньше.

Первое число — среднее за минуту, последнее — за 15 минут. Первое меньше последнего: нагрузка была и спадает. Два процессора полностью заняты при load 2, так что и раньше очередь не переполнялась.

Главное в шаге

  • Load average — среднее число процессов в состояниях R и D за 1, 5 и 15 минут.
  • Сравнивай его с nproc: больше числа процессоров — процессам не хватает процессора или они ждут диск.
  • Первое число больше последнего — нагрузка растёт, меньше — спадает.
Ubuntu 24.04
Загрузка…