В чем разница между средней нагрузкой и загрузкой процессора?

35

Вот вывод top:

вверх - 23:30:49 до 2:18, 1 пользователь, средняя загрузка: 4,36, 4,36, 4,39
Задачи: 105 всего, 2 бега, 103 сна, 0 остановок, 0 зомби
ЦП:   3,6% сша, 8,0% с.и., 0,0% н.и., 73,4% идентификатора, 9,0% у.а.,   1,1% хай, 4,9% с.и., 0,0% ст.
Память: всего 2029820 КБ, использовано 1979312 КБ, бесплатно 50508 КБ, буферы 6828 КБ
Обмен: всего 5947384 КБ, использовано 0 КБ, 5947384 КБ свободно, 1855304 Кэшировано

Как средняя нагрузка может быть высокой при низкой загрузке процессора.

Как рассчитывается средняя нагрузка?

Георг Шолли
источник
Что вы работаете, кажется, ваша система работает на что-то. Я получаю такие нагрузки, когда сжимаю кучу вещей во время компиляции.
NightwishFan
Я всегда думал о загрузке как о «количестве процессов, ожидающих выполнения», но я не совсем уверен, правильно ли это.
Pableu
У меня 6 стоечных серверов. В настоящее время он говорит мне, что у меня был длительный период (час) с нагрузкой более 20 на двухпроцессорном компьютере. Я тоже чешу голову о загрузке процессора.
MagicLAMP

Ответы:

36

Этот сайт хорошо объясняет это. По сути, средняя нагрузка - это объем трафика вашего ЦП за последние 1, 5 и 15 минут. Обычно вы хотите, чтобы это число было меньше количества процессоров / ядер, которые у вас есть. 1.0 на одноядерном компьютере означает, что он использует процессор до максимума, а все, что выше, означает, что все становится в очередь.

Строка ЦП в вашем верхнем выводе - это текущее использование с разбивкой по типам процессов.

Inigoesdr
источник
9
Как примечание, средняя загрузка также включает процессы, ожидающие ввода-вывода: serverfault.com/a/524818/27813
rogerdpack
1
Связанный сайт имеет действительно хорошее объяснение.
asheeshr
14

То, что Inigoesdr и сайт, на который он / она указывает, является более или менее правильным, но помните, что «среднее значение нагрузки» на самом деле не является «обычным» математическим средним, это экспоненциально демпфированное / взвешенное скользящее среднее .

Это очень хорошая и глубокая статья на тему процента загрузки процессора и средней нагрузки, а также того, как они рассчитываются в Linux. В Википедии также есть хорошая статья (объясняющая, например, некоторые различия между средней нагрузкой в ​​Linux и большинством систем UNIX).

Janc
источник