Я понимаю, что балансировка нагрузки - это способ измерения загруженности процессора. Однако я не понимаю, как 0.00
может существовать среднее значение нагрузки . Разве ядро не всегда работает? Разве это не принимает участие в загрузке процессора?
12
Ответы:
Среднее значение загрузки за период времени - это среднее число процессов, которые конкурировали за ЦП за этот период времени. «Ядро» не запускается, если ничего не поделаешь; более конкретно, если ничего не нужно делать, то ЦП передается специальному «простаивающему» потоку, который не учитывается (и который может делать такие вещи, как помещение ЦП в состояние, в котором он ожидает прерывания).
Так, например, среднее значение нагрузки 0,6 за 5 минут обычно означает, что в течение этих 5 минут процессор использовался в течение 3 минут каким-либо процессом (процессами) (или ядром), а в общей сложности - 2 минуты. был без дела Но, как отмечает @UKMonkey, это может означать, что после 4 с половиной минут бездействия 6 процессов конкурировали за процессор в течение последних 30 секунд ...
Процессор бездействует, если нет процесса, который хочет использовать его для выполнения кода, поскольку все процессы либо ожидают завершения операции ввода или вывода, либо находятся в режиме ожидания, ожидая активации в определенное время в будущем.
Ссылки @Panther предоставляют более подробное обсуждение средних значений нагрузки.
источник
Среднее значение загрузки - это показатель того, насколько перегружено ядро ЦП, с точки зрения количества процессов, желающих использовать его одновременно.
Ниже предполагается, что одноядерный (однопоточный) процессор:
0.0
Процессор вообще ничего не делает. Если процесс начнет использовать процессор, то он будет единственным, кто его использует.
Неактивный процессор не означает, что процессы не запущены. Например, фоновые службы и ядро все еще работают и все еще занимают память. Они просто не используют процессор, потому что они ничего не делают.
1,0
Процессор находится на максимальном использовании, но между процессами использования ЦП нет конкуренции. То есть выполняется только один процесс, поэтому он может требовать 100% времени ЦП для себя. Кроме того, несколько процессов запущены, но ни один из них не требует 100% ЦП, а их совокупное использование ЦП составляет до 100%. Все они по-прежнему работают так же быстро, как и при работе, даже если бы у них был процессор.
Больше 1,0
Процессор максимально загружен, и есть несколько процессов, которые хотят использовать его одновременно, поэтому они эффективно работают медленнее, чем они могли бы работать на простаивающем процессоре. Например, среднее значение загрузки 3,0 указывает, что процессы работают на одну треть скорости, с которой они хотят работать. Среднее значение нагрузки 50,0 означает, что процессы работают с 1/50 скорости, которую они хотят запустить, из-за всех других запущенных процессов. То есть цифры выше 1,0 указывают на то, что доступный ЦП растягивается между все большим и большим количеством процессов.
Наличие многоядерного процессора не меняет значения цифр, но может изменить их интерпретацию. Например, если у вас 4-х ядерный ЦП, загрузка 1.0 все равно эквивалентна одному процессу, использующему 100% ЦП на одном ядре, но есть три других ядра. Таким образом, на 4-ядерном процессоре точка максимальной эффективности составляет 4,0, а не 1,0, а точка, в которой все работает с 1/3 эффективности, равна 12,0, а не 3,0. Чтобы добавить к сложности, у одного процесса может быть более одного потока, каждый из которых запрашивает собственный ЦП. Таким образом, один процесс может использовать 100% всех 4 ядер, если он многопоточный.
Важная заметка
Использование процессора - это только один ресурс, который может ограничивать производительность процесса. Ввод / вывод - это другое, и он не учитывает нагрузку на процессор. Процесс, использующий определенное количество ЦП, не обязательно сможет использовать больше на более загруженной машине, поскольку он может столкнуться с другими узкими местами.
Какова лучшая средняя нагрузка
Это действительно зависит от того, что вы делаете и предпочитаете ли вы отзывчивость, или от того, насколько интенсивно процессор работает.
Для чего-то, что должно быть сделано как можно больше, среднее значение нагрузки должно быть на уровне или немного выше числа ядер. Что-либо намного большее, чем это, указывает на то, что вы могли бы сделать больше, быстрее, если бы вы разделили задачи на большее количество компьютеров / серверов.
Для чего-то, что должно быть максимально отзывчивым (реагировать быстро), средняя нагрузка должна быть комфортно меньше, чем количество ядер, например, половина или одна треть, что допускает некоторое прерывистое изменение до того, как произойдет замедление.
Для гостя виртуализации (например, KVM) чем ниже среднее значение нагрузки, тем лучше, потому что вы на самом деле делите процессор с другими гостями на том же хосте.
источник
D
процессы состояния всегда включены в среднюю нагрузку в Linux. Да, это сбивает с толку. Да, мы должны в первую очередь смотреть на другие показатели, чем загрузка в среднем.Средняя нагрузка 0,00 в основном означает, что ваша система простаивает и что в течение измеренного времени нет никаких задержек, нагрузок или узких мест для вашего процессора.
Это не означает, что ваш процессор неактивен, это просто означает, что если процесс требует процессорного времени, ждать не приходится.
Трудно сказать больше о том, что вы опубликовали, поскольку это может зависеть от того, как вы измерили свою нагрузку (система, на пользователя?) И в течение какого времени.
Для некоторых деталей и интересного чтения см.
https://www.tecmint.com/understand-linux-load-averages-and-monitor-performance/
http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages
http://www.brendangregg.com/blog/2017-08-08/linux-load-averages.html
источник