Windowsの削除速度が頻繁に周期的であるのはなぜですか?


13

興味のないことですが、削除時間が頻繁に繰り返される理由は何ですか?Windows 8では、削除ダイアログウィンドウの図に削除速度が表示されます。

Windows 8の削除ダイアログウィンドウ

理由がなければ、もちろんそれも答えになります。


4
フォルダーに100,000個のファイルがあり、それらはすべて異なるサイズです。測定は1秒あたりのアイテム数であるため、アイテムが小さいほど、アイテムはより速く削除されます。
ラムハウンド

3
@Ramhound、これはさまざまなファイルサイズに関連しているようには見えません。グラフの正弦波の性質は規則的すぎます。
GaTechThomas

1
Windowsは、ファイルを削除するときに、占有ブロックをゼロにしません。大きなファイルを削除するのは、小さなファイルを削除するよりも長くはかからないはずです。犯人は、アイテムの数が多いことです。それらは多くのサブフォルダーにありますか?多くのファイル(大小)を処理する場合、削除、コピー、移動のいずれであっても、かなりのオーバーヘッドがあります。
抽象化

2
何らかのキャッシュ?グラフのピーク時に削除要求の束がフラッシュされますか?
ジェシースライサー

1
私もこれを見たことがありますが、時にはもっと大きな波があります。
モシェ・カッツ

回答:


5

いくつかの理由があります。

  1. データの連続性:NTFSはディスク全体に順番に書き込むために実装されているため、ファイルを編集する場合、NTFSはハードディスク上の不連続なセクターに変更を保存する必要があります。つまり、ファイルを削除するには、セクター2からセクター100,000(もちろん仮に)にジャンプしてからファイルに戻る必要がある場合があります。次に、削除する次のファイルの次のセクターを見つけ、再びそのプロセスを繰り返すことができます。

  2. データ型:でフォルダを削除するtempとします。大きなファイルと小さなファイルが含まれている場合があります。処理が速いものもあれば、処理が遅いものもあります(データのサイズまたは複雑さ-つまり、「アイテム」を完了するために処理する必要があるセクターの数)

  3. @Ramhoundは「1秒あたりのアイテム数」について言及しましたが、これは削除ダイアログ(Speed: 1.082 items/s)で確認されるようです。そのため、巨大なファイル、不連続なファイル、または小さなファイルをすべて削除することは、1秒あたりのアイテム数に影響します。

  4. CPUの優先順位付け:この処理はクロックサイクルで実行されるため、CPUがサイクル中に他のプロセスを実行し、速度に影響を与える可能性があります(これは私の推測です)


3
Windows / NTFSは、ファイルを削除するときに使用中のブロックをゼロにしません。大きくても小さくても、連続的でも非連続的でもかまいません。
抽象化

@abstrask- ゼロになるとは言わなかった。 ただし、$BitMap各クラスターに(ファイル)をジャンプして自由に使用できるようにマーク(つまり「削除」)する必要があります。ファイルを(任意のレベルで)開いて編集するとリソースが消費され、ファイル内を飛び回る必要があるためオーバーヘッドが発生し、完全に速度が低下する可能性があります。ファイルが大きい場合-編集に時間がかかり、ファイルが連続していない場合-シークに少し時間がかかります。
オタクウォーラー

1
各クラスターは、$ Bitmapファイルのビットで表されます。デフォルトの割り当て単位サイズを4 KBと仮定すると、100 KBファイルの割り当て参照は、$ Bitmapファイルで約3バイトを占めます。大きなファイル、たとえば1 GBは、$ Bitmapファイルで32 KBを占有します。$ Bitmapが非常に断片化されている場合でも、ハードドライブは32 KB / 4 KB / cluster = 8クラスター間でスキップするだけで、1 GBファイルのクラスターを削除対象としてマークできます。はい。大きなファイルを削除するには、さらに多くのビットを反転する必要がありますが、測定することはほとんど不可能であり、スクリーンショットに表示される大きな視覚的な隆起を引き起こすことはありません。
抽象化
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.