Load average Linux, нагрузка на cpu сервера — анализ

В любой нагруженной системе существует необходимость постоянного контроля уровня существующей нагрузки, основным показателем, находящимся под мониторингом автоматики и проверяемым вручную при возникновении проблем в работе сервера является LA или Load Average (средняя нагрузка).

 

Самым простым способом посмотреть текущие показатели LA в Linux является выполнение команды uptime

По умолчанию команда выводит текущее время, время с момента старта сервера, количество пользователей в системе и характеристики LA

uptime

20:36:11 up  1:50,  1 user,  load average: 1,09, 0,66, 0,66

 

 

Также uptime можно использовать с ключом -p — в выводе в этом случае будет только непосредственно время, которое сервер пребывает во включенном состоянии

uptime -p

up 1 hour, 52 minutes

Однако, LA в этом случае отображаться не будет

 

Показатели Load Average можно посмотреть открыв какой-либо анализатор состояния системы, например top

 

 

Load Average Linux: что такое LA и какие его значения следует считать большими

 

LA — показатель нагрузки на систему. Подсчет ведется за последние минуту, 5 минут и 15 минут.
load average linux

LA может считаться большим или малым в зависимости от количества ядер процессора.

Одноядерный процессор может обрабатывать в единицу времени определенное количество запросов. Если количество поступающих запросов меньше возможностей процессора — «пропускной способности» — высокой нагрузки не создается, значения LA не превышают единицу.

 

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

 

Если применяется несколько процессоров необходимо пересчитывать их количество на количество используемых ядер и сопоставлять полученное число с показателями LA.

Допустимая нагрузка просто умножается на количество используемых ядер процессора.

Если сервер использует 8 ядер — максимальная нагрузка считающаяся нормальной составляет 8. Значения, ее превышающие можно считать аномальной ситуацией.

 

 

Как узнать сколько ядер используется Linux сервер

Информация о процессоре в Linux хранится в файле /proc/cpuinfo. Получить сведения о количестве ядер процессора можно сделав выборку из содержимого файла по ключевому выражению 'cpu cores'

cat /proc/cpuinfo | grep 'cpu cores'

cpu cores    : 2
cpu cores    : 2
cpu cores    : 2
cpu cores    : 2

 

 

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

 

Некоторые сервисы позволяют работать в режиме когда LA с определенной периодичностью возрастает больше допустимого — например, почтовые серверы — при возникновении нагрузки возможны задержки при отправке писем, но в целом работоспособности системы контролируемый рост нагрузки не угрожает.

В то же время для бэкэнд веб-серверов возрастание LA выше допустимого означает то, что часть посетителей сайта вместо контента будут видеть ошибку сервера.

 

В исключительных случаях инфраструктурные решения создаются с тем расчетом, что часть серверов будет постоянно работать при нагрузке больше допустимой.

 

Читайте про управление процессами в Linux, если LA выше обычного —  рассмотренные в материале команды позволят выявить процессы, нагружающие систему.