最近まで、負荷の平均(たとえば上に表示)は、状態が「実行可能」または「実行中」のプロセス数の最後のn個の値の移動平均であると考えていました。nは移動平均の「長さ」で定義されます。負荷平均を計算するアルゴリズムは5秒ごとにトリガーされるように見えるため、nは1分間の負荷平均では12、5分間の負荷平均では12x5、12x15でした15分間の平均負荷。
:しかし、私はこの記事読んhttp://www.linuxjournal.com/article/9001を。この記事は非常に古いものですが、今日では同じアルゴリズムがLinuxカーネルに実装されています。負荷平均は移動平均ではなく、名前がわからないアルゴリズムです。とにかく、Linuxカーネルアルゴリズムと、想像上の周期的な負荷の移動平均を比較しました。
。
大きな違いがあります。
最後に、私の質問は次のとおりです。
- なぜこの実装が真の移動平均と比較して選択されたのか、それは誰にとっても本当の意味を持っていますか?
- アルゴリズムが最後の1分よりもはるかに多くを考慮しているため、誰もが「1分間の負荷平均」について話す理由。(数学的には、ブート以降のすべての測定値;実際には、丸め誤差を考慮に入れて-それでも多くの測定値)
5
これは指数移動平均(EMA)であり、たとえば金融(テクニカル分析)でも使用されます。利点はおそらく同じです。EMAは前の値と現在の値のみから計算でき、最近の値には古い値よりも大きな重みが与えられます。標準のMAでは、最も古い値が平均値に最も最近の値と同じくらい寄与します。また、最近の値がより重要であると考える場合があります。
—
jgファウスト