Warum macht Windows Defragmenter fast nichts auf einer Festplatte mit 23% leerem Speicherplatz?

8

Beim Versuch, ein 80 GB NTFS-Volume (4 KB Clustergröße) unter Windows XP zu defragmentieren, ist ein seltsames Problem aufgetreten: Der Defragmentierungsprozess ist sehr schnell, aber auch sehr nutzlos. Grafisch konnte ich sehen, wie sich einige Dateien überall bewegten, aber die Fragmentierungsstufe blieb gleich.

So sieht es aus, nachdem das Volume defragmentiert wurde:

Das Bild ist ein Screenshot von Windows Defragmenter unter Windows XP mit zwei grafischen Ansichten einer Festplatte: vorher und nachher;  beide sind ziemlich ähnlich und weisen eine starke Defragmentierung auf

Ich weiß, dass es eine Beschränkung auf 15% freien Speicherplatz gibt. Tatsächlich ist das Volumen bei 23% frei.

Natürlich zeigt Windows Defragmenter eine Reihe von Dateien an, die nicht defragmentiert werden konnten. Einige sind groß (bis zu 1 GB), aber nicht zu groß, um sie während der Defragmentierung nicht verschieben zu können. Ich stelle mir vor, hiberfil.sys und pagefile.sys zählen nicht (sie sind unbeweglich, nicht wahr?).

Wie diagnostiziere ich dieses Problem?

PS. Die Installation anderer Defragmentierungssoftwareprodukte, wie in einer ähnlichen Frage vorgeschlagen , ist in meinem Fall keine Lösung.

Arseni Mourzenko
quelle
15% ist keine harte Grenze, nur eine grobe Schätzung.
user1686
1
Es ist möglich, dass die Fragmente gerade so groß sind, dass die Kosten für das Zusammenschieben gleich oder größer sind als der Vorteil des Zusammenschiebens.
Surfasb
Sind die großen nicht defragmentierbaren Dateien zufällig geöffnet? Können Sie einige der wirklich fragmentierten großen erwähnen?
William C
@William C: Dies sind die persönlichen Dateien der Benutzer (einschließlich der nicht angemeldeten Benutzer). Sie werden während der Defragmentierung nicht verwendet.
Arseni Mourzenko

Antworten:

5

Der Defragmentierer hat nirgendwo Platz, um die großen Dateien zu verschieben: Der gesamte freie Speicherplatz ist in kleinen Stücken etwas gleichmäßig verteilt, sodass es keine Verbesserung geben würde, wenn $ VERYBIGFILE von beispielsweise 20 engen Stücken auf 10 überall verstreute Teile geändert würde Stücke.

Einer der vom Defragmentierer ausgeführten Schritte ist die Dateikomprimierung, bei der zusammenhängende, aber separate Dateien zu einem einzigen Datenblock gemischt werden. Versuchen Sie dies einige Male, und es sollte mit der Zeit besser werden.

Sie können auch versuchen contig -v somebigfile, Dateien einzeln zu defragmentieren.

user1686
quelle
4

Versuchen Sie, im abgesicherten Modus neu zu starten, und deaktivieren Sie dann so viele Dienste wie möglich. Geöffnete Dateien werden nicht verschoben oder defragmentiert, sodass die Idee besteht, mit so wenig Prozessen wie möglich ausgeführt zu werden.

Oder entfernen Sie das Laufwerk und installieren Sie es (als Datenlaufwerk) zum Defragmentieren auf einem anderen PC.

Sägespäne
quelle
1

Sie können den Ruhezustand deaktivieren und die Datei hiberfil.sys sollte gelöscht werden. Wenn nicht, können Sie es manuell löschen, sobald der Ruhezustand deaktiviert ist. Sie können Ihre Auslagerungsdatei auch deaktivieren. Sobald diese beiden großen, nicht defragmentierbaren Dateien verschwunden sind, können Sie möglicherweise bessere Ergebnisse bei der Defragmentierung erzielen. Sobald dies erledigt ist, können Sie die Auslagerungsdatei und den Ruhezustand wieder aktivieren. Hoffentlich werden die beiden anderen Dateien nach der Defragmentierung des Volumes in zusammenhängenden Dateien abgelegt.

Keltari
quelle
1

Sysinternals verfügt über das Dienstprogramm "Seitendatei defragmentieren" . Ich bin mir nicht sicher, wie es funktionieren wird, wenn die Festplatte so angeordnet ist, wie sie ist, aber es ist wahrscheinlich einen Versuch wert, diese größeren Dateien anzuordnen und zu entfernen, damit Ihre Standarddefragmentierung effektiver auf die anderen Dateien zugreifen kann.

music2myear
quelle
1

Wenn das Defragmentieren im abgesicherten Modus nicht hilft, dann auch nicht

  • Leeren Sie Ihre Prefetch- und Superfetch-Ordner. (Schauder!) Diese Ordner weisen Defrag an, bestimmte Dateien nicht zu defragmentieren, was genau das Gegenteil von dem ist, was Sie wollen.

oder

  • Entfernen Sie das Laufwerk und defragmentieren Sie es, während Sie mit einem anderen Computer verbunden sind. Dies stellt sicher, dass so wenige Dateien wie möglich geöffnet sind und dass Defrag Ihre PF-Daten nicht berücksichtigt.
William C.
quelle