Получить доступ

Что показывает load average и как понять, что сервер перегружен?

MiddleLinux и диагностика
Ещё спрашивают так:
  • Что смотреть в top?
  • Load average 8 — это много?
Коротко

Load average — среднее за 1, 5 и 15 минут число процессов, которые выполняются или ждут CPU, а в Linux ещё и ожидают ввод-вывод (состояние D). Сравнивать с числом ядер: load 8 на 16 ядрах — нормально, на 2 ядрах — очередь. Высокий load при свободном CPU — признак ожидания диска или сети.

  • top/htop: us — пользовательский код, sy — ядро, wa — ожидание ввода-вывода, st — украдено гипервизором
  • Тренд по трём числам: 1 мин выше 15 мин — нагрузка растёт
  • Высокий wa — смотреть iostat, высокий st — проблема соседей по хосту

А ещё Метод USE: для каждого ресурса — утилизация, насыщение, ошибки

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Пример: load average: 12.4, 6.1, 3.0 на 4 ядрах — нагрузка быстро растёт и втрое превышает возможности CPU, процессы стоят в очереди.

Разбор в top:

  • высокий us — приложение занято вычислениями: профилировать код;
  • высокий sy — много системных вызовов, переключений контекста;
  • высокий wa — CPU простаивает в ожидании диска: iostat -x, iotop;
  • высокий st — виртуальная машина не получает CPU от гипервизора.

Другие инструменты: vmstat 1 (очередь выполнения r, свопинг), pidstat (по процессам), mpstat -P ALL (по ядрам — одно загруженное ядро у однопоточного процесса не видно в среднем).

Контейнеры: load average показывает нагрузку всего хоста, а не контейнера; для контейнера смотрят метрики cgroup и троттлинг CPU.

Что хотят услышать

  • Определение load average и сравнение с числом ядер.
  • Разбор us, sy, wa, st.
  • Инструменты дальнейшей диагностики.

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем