До недавнего времени я думал, что среднее значение нагрузки (как показано, например, сверху) является скользящим средним по n последним значениям числа процессов в состоянии «работает» или «работает». И n было бы определено «длиной» скользящего среднего: поскольку алгоритм вычисления среднего значения нагрузки, по-видимому, срабатывает каждые 5 секунд, n было бы 12 для среднего значения нагрузки за 1 мин, 12x5 для среднего значения нагрузки за 5 минут и 12x15 за 15 минут средней нагрузки.
Но потом я прочитал эту статью: http://www.linuxjournal.com/article/9001 . Статья довольно старая, но тот же алгоритм реализован сегодня в ядре Linux. Средняя нагрузка - это не скользящая средняя, а алгоритм, имя которого я не знаю. Во всяком случае, я сделал сравнение между алгоритмом ядра Linux и скользящим средним для воображаемой периодической нагрузки:
,
Это огромная разница.
Наконец мои вопросы:
- Почему эта реализация была выбрана по сравнению с истинной скользящей средней, которая имеет реальное значение для всех?
- Почему все говорят о «средней нагрузке в 1 минуту», поскольку алгоритм учитывает гораздо больше, чем в последнюю минуту. (математически, все меры с момента загрузки; на практике, с учетом ошибки округления - все еще много мер)