Gibt es ein Tool, das mir für eine bestimmte Datei auf der Festplatte zeigen würde, wie fragmentiert es ist? (Wie viele sucht physischen Datenträger überflüssig macht zu machen, wenn ich die Datei in linearer Weise lesen waren)Wie sieht man die Fragmentierung einer bestimmten Datei?
Antwort
Sie DeviceIoControl
mit FSCTL_GET_VOLUME_BITMAP
verwenden können, FSCTL_GET_RETRIEVAL_POINTERS
und FSCTL_MOVE_FILE
finden Defragmenting Files.
Sie können auch verschiedene Codebeispiele finden, wenn Sie nach FSCTL_MOVE_FILE
suchen.
Hier ist eine in und eine andere in .NET.
fsutil file queryallocranges offset=<o> length=<l> <file>
zeigt Ihnen die Extents der Datei Sie benötigen Administratorrechte.
Das Sysinternals-Tool contig mit Parameter kann dies für eine Datei oder alle Dateien in einem Ordner und seinen Unterordnern tun.
Und natürlich, "Fragmentierung" ist verdächtig:
- Die Datei in Stücke im gleichen Zylinder sein kann. Kein Suchaufwand, nur Rotationslatenz. Oder nicht so, wie die Stücke eine optimale Reihenfolge sein können (Chancen sind nahe Null für dieses).
- Die Datei kann "zusammenhängend" sein, aber über mehrere Zylinder hinweg. Selbst sequentielles Lesen führt zu Suchvorgängen.
- Die Datei befindet sich möglicherweise auf einem Stripe-Set und Sie haben keine Ahnung, wo die Grenzen sind. Sie können zu einem anderen Controller, einer anderen Spindel oder einer anderen Partition auf demselben Laufwerk wechseln.
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. http://linux.die.net/man/8/filefrag
- 1. Fragmentierung eines bestimmten Index wird zu oft
- 2. Wie sieht man die Kodierung der Datei in Emacs?
- 3. Wie verhindert man Fragmentierung in Java?
- 4. Wie sieht man die Verteilung der Schlüssel in einer HashMap?
- 5. Wie sieht man Repositories?
- 6. Wie man Maschinencode sieht?
- 7. Wie sieht man AST?
- 8. AngularJS: Wie sieht man die Tab-Auswahl?
- 9. Wie sieht man die Funktionssignatur in Python?
- 10. TCP Fragmentierung
- 11. SQL Server Fragmentierung Probleme
- 12. Wie sieht man entfernte Tags?
- 13. Wie sieht man eine Datei in PHP schreiben?
- 14. Wie sieht man den Dateiunterschied?
- 15. Wie sieht fragmentiertes Gedächtnis aus?
- 16. Wie sieht man Oracle Table Logs?
- 17. OCaml - wie man die Schnittstelle des Moduls sieht?
- 18. IP Fragmentierung und Reassembly
- 19. Wie sieht man die Dokumentation für Infix-Operatoren in R?
- 20. Wie sieht man den Typ einer Variablen in PL/SQL?
- 21. Wie sieht man ng-html-bind von einer Direktive?
- 22. Datei beginnend bei einer bestimmten Zeile sortieren
- 23. JetBrains: Wie sieht man den Rückgabewert einer Funktion?
- 24. Wie sieht man Ausnahmen in einer Flask + gunicorn App?
- 25. Sequentielle Guid und Fragmentierung
- 26. Wie überprüft man die Kompatibilität einer CSS-Datei?
- 27. Wie sieht man eine große JSON-Datei, die hübsch auf Ubuntu gedruckt ist?
- 28. EpiServer wie bekommt man die Link URL einer bestimmten Seite?
- 29. Wie füllt man die ganze Leinwand mit einer bestimmten Farbe
- 30. Wie man Klassen auswählt, die mit einer bestimmten Zeichenkette beginnen
Sie sind mein Held! –
@SmitJohnth, wow, war das noch nützlich? Ich dachte, mit den SSDs von heute wäre Fragmentierung kaum noch ein Thema. –
SSD sind immer noch zu teuer, um alle Mist zu speichern, auch nachdem die Preise für HDD in den letzten Jahren kaum gesunken sind. Ich produzierte eine große Textdatei, versuchte darin zu suchen und bemerkte dann, dass es zu langsam war. Ich habe das Lesen gemessen und dann etwas vermutet ... Jetzt ist es behoben. –