タグ付けされた質問 「algorithms」

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

5
シンボリックリンクがループするかどうかを決定するアルゴリズムはありますか?
Unixシステムは通常、1つのパスルックアップで通過するシンボリックリンクの数に制限があるため、シンボリックリンクループまたは非常に多くのシンボリックリンクを含むパスに直面すると、エラーになります。しかし、Unixがたどりつくよりも多くのリンクが含まれている場合でも、特定のパスが何かに解決するか、ループを含むかを実際に決定する方法はありますか?または、これは正式に決定できない問題ですか?また、決定できる場合、妥当な時間/メモリで決定できますか(たとえば、ファイルシステム上のすべてのファイルにアクセスする必要はありません)。 いくつかの例: a/b/c/d where a/b is a symlink to ../e and e is a symlink to f and f is a symlink to a/b a/b/c/d where a/b/c is a symlink to ../c a/b/c/d where a/b/c is a symlink to ../c/d a/b/c/d where a/b/c is a symlink to /a/b/e where a/b/e …

3
キャッシュスワップが意味をなすのはなぜですか?
スワップアウトされたページをキャッシュすることは、私にとって非常に逆効果に思えます。ページをスワップインする場合、それらを最初にメモリにキャッシュする利点は何ですか?それらを正しい場所に移動する必要があるだけですか?ページが積極的に入れ替えられたとしても、それらを「単に」入れ替えるほうが理にかなっていますか?実際、スワップをキャッシュすることは単なるリソースの浪費ではないのですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.