Windows 7 組み込みおよびサードパーティの断片化 (デ) フラグメンテーション関連のクエリ

Windows 7 組み込みおよびサードパーティの断片化 (デ) フラグメンテーション関連のクエリ

ファイルが断片化される仕組みについては、かなりよくわかっています。とはいえ、外付け USB HDD から、サイズが数 KB から 20 GB までのさまざまなファイル約 3,200 個を、新しくフォーマットした (Windows 7 x64 で)、NTFS、2 TB、5400 RPM、WD、SATA、非システム (セカンダリ) ドライブにコピーしたところ、57% 使用されました。各ファイルが 1 つの連続したブロックに保存される可能性は十分にあるはずなので、このかなり長い作業の後でも、ドライブの断片化は最大でも 1 ~ 2% 程度にとどまると予想しました (残念ながら、この古いマシンは USB 3.0 をサポートしていません)。

Windows 7の組み込みデフラグユーティリティは、簡単な分析の後、ドライブが断片化されていることを私に伝えました。1%またはそれくらいで、私の予想とぴったり一致しました。しかし、好奇心からPiriformのDefragglerの最新のポータブルx64バージョンをダウンロードして実行したところ、ドライブが約85%断片化されました! Auslogics Disk Defrag のポータブル バージョンも Defraggler と一致しており、どちらもドライブを完全にデフラグするには約 10 時間かかると予想されていました。

  1. 内蔵のデフラグユーティリティとサードパーティのデフラグユーティリティがどうして一致しないのかそれでひどい?10~20%の差は理解できるが、1%と85%はマイル離れて!これエンジニアリング Windows 7ブログ投稿状態:

Windows XP では、複数の部分に分割されたファイルは断片化されているとみなされます。Windows Vista では、断片が十分に大きい場合は断片化されません。デフラグ アルゴリズムは (Windows XP から) 変更され、64 MB を超えるファイルの部分は無視されるようになりました。その結果、XP のデフラグと Vista のデフラグでは、ボリューム上の断片化の量が異なります。...[引用が文脈から外れないように、投稿全体を読んでください。]

サードパーティのデフラグ ユーティリティが XP 以降のこの変更を無視し、XP で使用されていたものと同様の分析アルゴリズムを引き続き使用しているだけなのでしょうか?

  1. サードパーティのユーティリティが断片化の実際の範囲について嘘をついていないと仮定すると (Windows は XP 以降、断片化を軽視しています)、空のドライブに新しくコピーされただけなのに、どうしてファイルがそれほどひどく断片化されるのでしょうか?

  2. 大きく異なる分析アルゴリズムがこの大きなギャップを説明するとしたら、私はどちらを信じるべきでしょうか?私はデフラグマニアではありませんが、85%という数字は、このドライブのデフラグに10時間費やすことを真剣に検討するのに十分な数字です。一方、Windowsのデフラグツールで報告された1%は、心配する必要がないことを明確に示しており、デフラグは実際には否定的な結果(投稿通り)。Windowsの想定は正しいのでしょうか?そのままにしておくべきでしょうか?それとも、目立つサードパーティのユーティリティの 1 つを 10 時間連続で実行した後のパフォーマンスの向上は?

  3. 既定では、Windows 7 のデフラグは毎週実行されるようにスケジュールされています。デフラグは毎回実行されるのか、それとも分析によって設定されたしきい値を超える断片化率が示された場合にのみ実行されるのか、ご存じの方はいらっしゃいますか。後者の場合、このしきい値はいくらで、レジストリ編集などで変更できるのでしょうか。

最後までお読みいただき、ありがとうございます (この素晴らしいサイトでの私の最初の質問です!)。また、役に立つ回答をありがとうございました。また、質問 3 に回答する場合は、サードパーティ ユーティリティによるデフラグ後の速度向上は、Windows の組み込みプログラムと比較して、Vista 以前 (できれば Win7 以前) の例を含めるべきではないことに注意してください。さらに、システムの起動を高速化するプログラムの例は、この場合は役に立ちません。これはシステム ドライブではないためです (ただし、毎日使用されます)。

答え1

「ある時点を超えると、断片化されたファイルを結合しても明らかな利点はなくなります。」

1) デフラグラーは64MBを超えるすべてのフラグをカウントしていると思いますが、W7は64MBを超えるフラグを結合するのは時間の無駄なので無視します。

2) システム ディスク以外のディスクへのファイル コピーでは、この問題はほとんど発生しません。あなたのケースでは何が起こったのかわかりません。

3) Microsoft エンジニアの意見は正しいと思います。

4) W7 Defrag はタスク スケジューラに設定されており、タスクを編集して必要なパラメータを変更できます。

タスクスケジューラを開き、タスクスケジューラライブラリ > Microsoft > Windows > デフラグに移動します。

タスクを右クリックしてプロパティを選択します (何かを変更してうまくいかず、工場出荷時のデフォルトを覚えていない場合に備えて、タスクをバックアップとしてエクスポートできます)。

ここに画像の説明を入力してください

ここでデフラグタスクのパラメータを編集します

ここに画像の説明を入力してください

答え2

私の記憶が正しければ、NTFS の最新バージョンでは、ファイルが断片化せずに大きくなるように、ファイル間に意図的にスペースが残されています (ボリュームがいっぱいでない場合)。サード パーティ ツールがこの空きスペースを調べて断片化としてカウントしている可能性があります。つまり、ボリュームの空きスペースが (意図的に) 断片化されており、サード パーティ ユーティリティは、ギャップを埋めるために新しいファイルを断片化しなければならないリスクを減らすために、この空きスペースを排除しようとしているのです。

この場合、サードパーティのユーティリティを使用してドライブをデフラグしても、パフォーマンスが大幅に向上することはありませんが、ボリュームが非常にいっぱいになった場合にパフォーマンスが低下する可能性は回避できます。個人的には、デフラグは行いません。

関連情報