Antworten:
Moderne Dateisysteme, insbesondere solche, die für Mehrbenutzer- und / oder Multitasking-Anwendungsfälle effizient sind, können Daten nur dann ziemlich fragmentieren, wenn die Dateisysteme nahezu voll sind (es gibt keine genaue Zahl dafür, wo die "nahezu voll" sind "Mark ist, wie es davon abhängt, wie groß das Dateisystem ist, wie verteilt die Dateigrößen sind und wie Ihre Zugriffsmuster sind - Zahlen zwischen 85% und 95% werden häufig angegeben) oder das Muster der Dateierstellung und -schreibvorgänge ist ungewöhnlich oder das Dateisystem ist ungewöhnlich sehr alt, also hat viel "Action" gesehen. Dies umfasst ext2 / 3/4, reiser, btrfs, NTFS, ZFS und andere.
Derzeit gibt es keine Möglichkeit, ext3 oder 4 auf Kernel- / Dateisystemebene zu defragmentieren ( weitere Informationen finden Sie unter http://en.wikipedia.org/wiki/Ext3#Defragmentation ), obwohl ext4 in Kürze online verfügbar sein soll Defragmentierung.
Es gibt User-Land-Tools (wie http://vleu.net/shake/).und andere in diesem Wikipedia-Artikel aufgeführte), die versuchen, einzelne Dateien oder Dateigruppen durch Kopieren / Umschreiben zu defragmentieren. Wenn genügend ausreichend freier Speicherplatz vorhanden ist, wird der Datei im Allgemeinen ein zusammenhängender Block zugewiesen. Dies garantiert jedoch in keiner Weise, dass Dateien nahe beieinander liegen. Wenn Sie also ein Shake über ein Paar großer Dateien ausführen, werden Sie feststellen, dass die beiden Dateien selbst defragmentiert werden, jedoch nicht in der Nähe voneinander auf der Festplatte. In einem Mehrbenutzer-Dateisystem ist die Lokalität von Dateien zueinander nicht oft wichtig (es ist sicherlich weniger wichtig als die Fragmentierung der Dateien selbst), da die Laufwerksköpfe überall umgedreht werden, um unterschiedliche Benutzer zu bedienen. '
Wenn Sie ein Dateisystem haben, das im Laufe der Zeit stark fragmentiert wurde und derzeit über ausreichend freien Speicherplatz verfügt, kann das Ausführen etwa shake
aller Dateien den gewünschten Effekt haben. Eine andere Methode wäre, alle Daten in ein neues Dateisystem zu kopieren, das Original zu entfernen und es dann wieder zu kopieren. Dies hilft auf die gleiche Weise shake
, kann jedoch bei größeren Datenmengen schneller sein.
Machen Sie sich bei kleinen Fragmentierungen keine Sorgen. Ich kenne Leute, die mehr Zeit damit verbringen, Defragmentierungsfortschrittsbalken zu beobachten, als sie jemals (aufgrund eines effizienteren Festplattenzugriffs) in mehreren Lebensdauern des normalen Betriebs sparen werden!
ureadahead
wie bei aktuellen Ubuntu-Builds standardmäßig (siehe ubuntuforums.org/showthread.php?t=1434502 für weitere Informationen) einen ähnlichen Effekt erzielen. Ein Teil der Verzögerung in der Linux-Startsequenz kann verringert werden, indem Sie aufgefordert werden, die Dienste nach Möglichkeit gleichzeitig zu starten, wenn das Boot-Setup Ihrer Disro dies unterstützt (setzen Sie CONCURRENCY = Shell in / etc / defaults / rc auf Debian) und ähnliche Optimierungen. Um zu überprüfen, ob Sie mit den vorgenommenen Änderungen einen Unterschied machen, verwenden Sie bootchart.org, um zu zeigen, was passiert, bevor Sie die Dinge im Vergleich zu später optimieren.
e2defrag
und damit experimentiert, um eine solche Verpackung zu erreichen. Sie finden es unter launchpad.net/e2defrag .
/etc/defaults/rc
aber /etc/default/rcS
auf Debian 6
e2defrag
Unterstützt dies jetzt Ext3 besser als shake
?