2009-05-27 7 views
4

私のアプリケーションでは、小さなデータビットを時間の経過と共に大きなファイルに集めています。結果として、ターゲットファイルが過度に断片化されます。 .NETを使用して出力ファイルの断片化を制限するにはどうすればよいですか?.NETで作業中にファイルの断片化をどのように制限できますか?

+0

技術的な内容:32ビットServer 2003、16GBの出力ファイルサイズ、1クラスタあたり4Kバイト、1入力ファイルあたり数MB、30Kのフラグメントが観察されました。 – GregC

答えて

5

ファイルサイズを意図的に大きくして、現在の使用状況の終わりを内部的に監視することができます。そうすれば、システムにファイルの連続したスペースを割り当てるチャンスが与えられます。

2

ファイルの断片化を確実に軽減できる唯一の方法は、完全なファイルのスペースを1つの場所に割り当てることです(ファイルの残りの部分には、フィラーとしてゼロを記入します)。しかし、これはファイルの最終的なサイズを知っている場合にのみ行うことができます。

別のオプションは、各インクリメント(たとえば100MB)中に特定の値だけファイルサイズを増やすことです。そうすれば、断片化されていないチャンクが少なくなります。

関連する問題