1

特定のファイルの断片化ステータス (つまり、このファイルが占有する個別の断片の量) を判断することはできますか? もしそうなら、これは.netを使ってどのように行うことができますか?

動機は次のとおりです。私のアプリケーションはデータを FileStream に保持し、そのサイズをオンデマンドで変更します。これにより、最終的にファイルが断片化されます。ファイルの断片化状態を監視し、それに基づいて、ファイルをコピーして新しいファイルに置き換える必要があるかどうかを判断します (したがって、MFT を変更せずに「最適化」します)。

4

1 に答える 1

3

これは、まさに「時期尚早の最適化」のカテゴリに分類されます。断片化が発生することはまったく保証されていません。ディスクには、ファイルの終わりを過ぎてコミットされていないクラスターが含まれている可能性があり、多くの場合そうです。おそらくもっと重要なのは、.NET フレームワークには、これを検出または修正できるものは何もないということです。ボリュームの MFT にアクセスするには、アンマネージ コードと管理者権限が必要です。

ディスクのデフラグは、通常のマシン メンテナンス タスクです。Win7で自動になりました。

于 2010-03-26T15:44:09.563 に答える