Что такое параметр load average
Что проверяют
Понимаете ли вы, что именно считает ядро, и умеете ли по одному числу задать следующий вопрос. Метрика простая на вид и почти всегда толкуется неверно, поэтому она удобный фильтр на собеседовании.
Как отвечать
Load average это экспоненциально сглаженное среднее числа задач, готовых к исполнению или находящихся в непрерываемом сне, за окна примерно в одну, пять и пятнадцать минут. Видно в выводе uptime и top, источник это /proc/loadavg.
Главное отличие Linux от классического Unix: в счёт входит состояние D, то есть ожидание диска, сети или блокировок в ядре. Поэтому высокая величина вовсе не обязательно означает нехватку процессора: машина может простаивать по CPU и стоять на медленном хранилище.
Нормировать надо на число ядер: значение около их количества это полная загрузка, вдвое выше это очередь. Смотреть нужно на три окна сразу, короткое выше длинного означает рост нагрузки, ниже означает, что пик уже прошёл.
Куда идти дальше: vmstat, где колонка r это очередь к процессору, а b это задачи, заблокированные на вводе и выводе; iostat по дискам; pidstat и top по конкретным процессам. В современных ядрах точнее отвечает механизм PSI в /proc/pressure, он отдельно показывает потери времени из-за процессора, памяти и ввода и вывода.
Отдельно про контейнеры: внутри контейнера /proc/loadavg показывает нагрузку всего хоста, а не своей cgroup, поэтому алерты по нему в оркестраторе вводят в заблуждение.
Где спотыкаются
Читают величину как загрузку процессора в долях единицы и заводят инцидент, не открыв ни одного другого графика.
Сравнивают абсолютные числа между машинами разной конфигурации. Тройка на восьмиядерной машине и на двухъядерной означает принципиально разное состояние.
Ставят порог оповещения на одноминутное окно. Оно шумит на любом деплое и ротации логов; на алерты берут пятнадцатиминутное, нормированное на число ядер, а короткое оставляют для диагностики.