Вопрос с собеседования · DevOps

Что показывает 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: для каждого ресурса — утилизация, насыщение, ошибки

Подробно

Пример: 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.
  • Инструменты дальнейшей диагностики.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗Процент загрузки всех ядер процессора за 1, 5 и 15 минут
  • ✓Среднее число процессов, работающих или ждущих; сравнивают с числом ядер
  • ✗Значение 8 всегда означает перегрузку сервера
  • ✗Высокий load всегда значит нехватку CPU

Разбор темы

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

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования