【问题标题】:How can I limit file fragmentation while working with .NET?使用 .NET 时如何限制文件碎片?
【发布时间】:2010-10-29 08:58:04
【问题描述】:

在我的应用程序中,随着时间的推移,我将小数据位收集到一个更大的文件中。结果,目标文件变得过度碎片化。使用 .NET 可以做些什么来限制输出文件的碎片?

【问题讨论】:

  • 技术细节:32 位 Server 2003,16GB 输出文件大小,每个集群 4K,每个输入文件几 MB,观察到 30K 片段。

标签: c# .net file-io fragmentation


【解决方案1】:

您可以故意以更大的块增加文件大小,并在内部监控当前使用的结束位置。这样,您就可以让系统更好地为您的文件分配连续空间。

【讨论】:

    【解决方案2】:

    可靠地减少文件碎片的唯一方法是一次性为整个文件分配空间(用零填充文件的其余部分,作为填充符)。但这只有在您对文件的最终大小有所了解的情况下才能做到。

    另一种选择是在每次增量期间将文件大小增加一个特定值(例如 100 MB)。这样您的碎片整理量就会减少。

    【讨论】:

      猜你喜欢
      • 2012-09-22
      • 1970-01-01
      • 1970-01-01
      • 2011-02-19
      • 2012-09-26
      • 2010-11-06
      • 1970-01-01
      • 2020-05-09
      • 2016-08-25
      相关资源
      最近更新 更多