In meiner Anwendung sammle ich im Laufe der Zeit kleine Datenbits in eine größere Datei. Als Ergebnis wird die Zieldatei übermäßig fragmentiert. Was kann getan werden, um die Fragmentierung der Ausgabedatei mit .NET zu begrenzen?Wie kann ich Dateifragmentierung während der Arbeit mit .NET begrenzen?
4
A
Antwort
5
Sie könnten die Dateigröße bewusst in größeren Blöcken erhöhen und intern überwachen, wo das Ende Ihrer aktuellen Nutzung ist. Auf diese Weise geben Sie dem System eine bessere Chance, zusammenhängenden Speicherplatz für Ihre Datei zuzuweisen.
2
Die einzige Möglichkeit, die Dateifragmentierung zuverlässig zu reduzieren, besteht darin, Speicherplatz für die gesamte Datei auf einmal zuzuweisen (füllen Sie den Rest der Datei mit Nullen als Füllzeichen). Dies kann jedoch nur durchgeführt werden, wenn Sie eine Vorstellung von der endgültigen Größe der Datei haben.
Eine weitere Option wäre, die Dateigröße während jedes Inkrements (z. B. 100 MB) um einen bestimmten Wert zu erhöhen. Auf diese Weise hätten Sie weniger defragmentierte Stücke.
Technische Details: 32-Bit-Server 2003, 16 GB Ausgabedateigröße, 4 KB pro Cluster, einige MB pro Eingabedatei, 30 KB Fragmente beobachtet. – GregC