Registrierung
Teammitglieder
Download-Support
Zur Startseite
Mitgliederliste
Suche
Kalender
Häufig gestellte Fragen
Portal
Chat
Link Us

 
Boardmenü
» Download-Support
» User Map
» Google Map
» Forum
» Portal

» Registrieren
» Suche
» Statistik
» Mitglieder
» Team
» Lexikon
» Kalender
» Sponsoren
» Partner

» F.A.Q
» Startseite anpassen

Guckloch
Hier kann man sich über die letzten Beiträge im Board live informieren, das kleine Fenster welches sich durch einen Klick öffnet aktualisiert sich von alleine alle 60 Sekunden.

Guckloch öffnen

Rechner-Support Toolbar

toolbar powered by Conduit

Team
Ihnen fehlen die Rechte dazu um den Inhalt dieser Box zu sehen.

Boardsuche
Ihnen fehlen die Rechte dazu um den Inhalt dieser Box zu sehen.

TopForen
» Off-Topic
mit 19513 Beiträgen
in 1672 Themen

» PC- Probleme allgemein
mit 14026 Beiträgen
in 1038 Themen

» Treiber Bereich- Feedback
mit 9748 Beiträgen
in 3235 Themen

» Fun-Area
mit 8094 Beiträgen
in 563 Themen

» PC Game-News Allgemein
mit 5380 Beiträgen
in 730 Themen


Links
Ihnen fehlen die Rechte dazu um den Inhalt dieser Box zu sehen.

Forenliste
Ihnen fehlen die Rechte dazu um den Inhalt dieser Box zu sehen.

Rechner-Support » Software / Internet / Handy / Treiber- Feedback » Programmieren » Java Laufwerksfragmentierung unter Linux » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Laufwerksfragmentierung unter Linux
Autor
Beitrag « »

smalltalk   Zeige smalltalk auf Karte smalltalk ist männlich
Desktop des Monats Oktober 2007


images/avatars/avatar-486.jpg

Dabei seit: 29.03.2007
Beiträge: 425
Dieser User hat sich mal bedankt CPU: Celeron 2.6GHz | P3-700 | Celeron 433

Laufwerksfragmentierung unter Linux Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Im Anhang befindet sich ein Java-Programm, mit dem sich die Fragmentierung von Laufwerken (getestet EXT2/3 und ReiserFS) unter Linux ermitteln lässt.
Ich poste das Programm hier, da es mit Root-Rechten ausgeführt werden muss und ich mich deshalb moralisch verpflichtet fühle auf die Funktionsweise einzugehen smile

Bedienung : das Programm wird mit java -jar FileFrag.jar [Verzeichnis] gestartet. Hierbei püft das Programm, ob Root-Rechte vorliegen.

Zunächst wird die gesamte Verzeichnisstruktur eingelesen. Dynamische Links werden hierbei ignoriert. Gleichzeitig achtet das Programm auf die Dateisystemgrenzen. Wird z.B. als Verzeichnis /home/ eingeben, wird nur die HOME-Partition überprüft.
Ausgeschlossen von der Prüfung werden die Pseudo-Dateisysteme /sys, /proc, /dev .
Bereits während des Scannens wird im Verzeichnis /tmp/ die Datei script.sh erstellt, die die ganze Arbeit später übernimmt.
Die Einträge sehen z.B. wie folgt aus:
/usr/sbin/filefrag "/usr/lib/openoffice/help/en/highcontrast1.css"
Dieses erfolgt für jede Datei.
Das Programm filefrag aus den e2fsprogs sollte bei jeder Linux Installation bereits dabei sein.
Nach dem Scannen wird das Script ausgeführt und das Java-Programm sucht unter Verwendung von regEx aus dem Ausgabestream des Scriptes die entsprechen Daten heraus. Es findet seitens des Java-Programmes kein Zugriff auf das System statt (Quellcode in der jar Datei). Erhält das Java-Programm über einen Zeitraum von 5 Sekunden keine Daten, wird der aktuelle filefrag-Prozess gekillt und das Script kann weiterarbeiten. Nach 10 solcher Ereignisse wird der Vorgang abgebrochen. Üblicherweise läuft das Script ohne Probleme durch.
Da jede Datei durch filefrag einzeln überprüft wird, dauert der check eines Dateisystems entsprechend lange.

Die Ausgabe des Programmes sieht folgendermaßen aus:

michael@laptop:/$ sudo java -jar ~/Java/FileFrag.jar /
[sudo] password for michael:
Scanned Files: 152022
Total: fragmented Files: 1163 Unfragmented Files: 150859
Files with more than 8 fragments: 46
Total fragmentation: 0.76 %
max fragmented file:

/usr/share/mime-info/gnome-vfs.keys: 24
/usr/share/mime-info/gnome-vfs.keys: 24
/usr/share/mime-info/gnome-vfs.keys: 24
/var/lib/dpkg/status: 26
/var/log/dpkg.log: 28
/usr/lib/jvm/java-6-sun-1.6.0.06/jre/lib/i386/xawt/libmawt.so: 30
/usr/lib/jvm/java-6-sun-1.6.0.06/jre/lib/i386/xawt/libmawt.so: 30
/var/lib/scrollkeeper/scrollkeeper_docs: 36
/var/lib/scrollkeeper/scrollkeeper_docs: 36
/mnt/vbox/Windows XP.vdi: 830

Es werden die 10 am stärksten fragmentierten Dateien ausgeben.
Das Script löscht sich nach der Ausführung selber.

BUGS:
* wie an der Ausgabe gesehen werden kann erscheinen einige Dateien mehrfach. Das liegt daran, das ich bei der Ausgabe der Dateien aus Einfachheitsgründen eine Map verwende. Liegen wie hier z.B. mehrere Dateien mit 24 Fragmenten vor, wird immer nur eine angezeigt. Die Berechnung der Anzahl erfolgt hiervon unabhängig.
* es kann manchmal nach dem Start vorkommen, das das Programm keine Daten empfängt, obwohl das Dateisystem unterstützt wird. In diesem Falle gibt es die Fehlermeldung heraus, dass das Dateisystem möglicherweise nicht unterstützt wird. In einem solchen Fall hilft es das Programm nochmals zu starten. Es handelt sich hierbei wohl um Timingprobleme mit dem Script.

Nutzen: das Programm macht genauere Angaben als e2fsck und funktioniert zumindest auch auf ReiserFS. Zum Testen braucht das Dateisystem nicht ausgehängt zu werden.
Ansonsten ist es recht nützlich um vor Windows-Nutzern anzugeben. Wer erreicht 4 Tage nach einer frischen Systeminstallation zuzüglich des Nachinstallierens von ca. 2.5 GB Software einen Fragmentierungsgrad von 0.76 % Augenzwinkern ?

Dateianhang:
rar filefrag.rar (40 KB, 1 mal heruntergeladen)


__________________
A programmer is just a tool which converts caffeine into code
30.04.2008 20:53 smalltalk ist offline E-Mail an smalltalk senden Beiträge von smalltalk suchen Nehmen Sie smalltalk in Ihre Freundesliste auf

GambaJo GambaJo ist männlich
User des Monats 9 & 10


images/avatars/avatar-1008.jpg

Dabei seit: 16.09.2007
Beiträge: 1.198
Dieser User hat sich mal bedankt CPU: AMD Athlon 64 X2 4600+

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wird nur die Fragmentierung ermittelt, oder wird auch defragmentiert?

BTW:
/ 7.57 %
/home 3.01 %
/daten 2.17 %

__________________
Dieser Link wird erst nach der Registrierung angezeigt.

Es ist kein Tornado, es ist kein Twister, es ist ein Tornister!

01.05.2008 00:16 GambaJo ist online Homepage von GambaJo Beiträge von GambaJo suchen Nehmen Sie GambaJo in Ihre Freundesliste auf Fügen Sie GambaJo in Ihre Kontaktliste ein MSN Passport-Profil von GambaJo anzeigen

smalltalk   Zeige smalltalk auf Karte smalltalk ist männlich
Desktop des Monats Oktober 2007


images/avatars/avatar-486.jpg

Dabei seit: 29.03.2007
Beiträge: 425
Dieser User hat sich mal bedankt CPU: Celeron 2.6GHz | P3-700 | Celeron 433

Themenstarter Thema begonnen von smalltalk
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Das Programm findet nur die Fragmentierung heraus.
Wenn ein Java Programm defragmentieren könnte wäre ich wohl der Anwärter für den nächsten Turing Award Augenzwinkern .
Es machte schon Arbeit Java beizubringen unter Linux die Dateisystemgrenzen zu ermitteln smile .

__________________
A programmer is just a tool which converts caffeine into code
01.05.2008 08:43 smalltalk ist offline E-Mail an smalltalk senden Beiträge von smalltalk suchen Nehmen Sie smalltalk in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Rechner-Support » Software / Internet / Handy / Treiber- Feedback » Programmieren » Java Laufwerksfragmentierung unter Linux

Views heute: 7.263 | Views gestern: 29.721 | Views gesamt: 15.450.801


Impressum


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH

Designed by:Designed by: vbdesigns.devbdesigns.de