Gibt es ein Tool, das mir für eine bestimmte Datei auf der Festplatte zeigt, wie fragmentiert es ist? (Wie viele Suchvorgänge muss die physische Festplatte ausführen, wenn ich diese Datei linear lese)
Sie können DeviceIoControl
mit FSCTL_GET_VOLUME_BITMAP
, FSCTL_GET_RETRIEVAL_POINTERS
und FSCTL_MOVE_FILE
, siehe Dateien defragmentieren .
Sie können auch verschiedene Codebeispiele finden, wenn Sie nach FSCTL_MOVE_FILE
suchen.
Hier ist eine in C und eine weitere in .NET .
Das Sysinternals-Tool Contig mit dem Parameter -a
kann dies für eine Datei oder alle tun Dateien in einem Ordner und seinen Unterordnern.
fsutil file queryallocranges offset=<o> length=<l> <file>
zeigt Ihnen die Extents der Datei, Sie benötigen Administratorrechte.
Und natürlich ist "Fragmentierung" suspekt:
Achten Sie darauf, welche Schlussfolgerungen Sie ziehen.
filefrag ist das Tool, das Sie suchen, wenn Sie Linux verwenden. Verwenden Sie den Parameter -v mit dem Dateinamen, um eine detaillierte Liste der Fragmentierung zu erhalten. Ссылка
Tags und Links performance filesystems ntfs fragmentation