[[Vorlage(Archiviert)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Pakete installieren: Installation von Programmen] [:GRUB_2: GRUB 2 verändern] [:Editor: Einen Editor verwenden] [:Programme_kompilieren: Programme kompilieren] [:sudo: Root-Rechte erlangen] }}} [[Inhaltsverzeichnis(2)]] Rotierende Festplatten können schnell sequentiell lesen und schreiben, jedoch benötigen sie zum Springen zwischen mehreren Speicherorten vergleichsweise lang. Daher ist es Ziel von [sourceforge2:e4rat:] {en}, die Bootzeit und Programmstarts zu beschleunigen, indem die zum Starten benötigten Dateien auf der Festplatte entsprechend ihres Nutzungszeitpunktes umsortiert werden. Zudem lädt e4rat Dateien vor ihrer Nutzung in den Arbeitsspeicher. Es besteht aus 3 Teilen: * `e4rat-collect` - sammelt Informationen über die Nutzungsreihenfolge der Dateien * `e4rat-realloc` - ordnet die Dateien auf der Festplatte um * `e4rat-preload` - lädt die Dateien, bevor sie genutzt werden {{{#!vorlage Warnung * e4rat funktioniert nur mit ext4-[:Dateisystem:Dateisystemen]. * Bei von ext2 konvertierten oder verschlüsselten Partitionen kann das Ausführen von '''e4rat-realloc''' zu Datenverlusten führen. }}} == Vorbereitungen == e4rat kollidiert in seiner Funktionsweise mit [:preload#Vergleich-zu-ureadahead:ureadahead]. Dieses Programm muss zuerst deinstalliert [2] werden. = Installation = == Fremdpaket == Jetzt muss das Debian-Paket von der [sourceforge:e4rat:Sourceforge-Projektseite] heruntergeladen und installiert [2] werden. [[Vorlage(Fremd, Paket)]] = Bedienung = == Analyse des Startvorgangs == Beim jetzt folgenden Neustart muss die Umschalt-Taste gedrückt werden, um in das [:Archiv/GRUB:]-Menü zu gelangen. Dort geht es mit [[Vorlage(Tasten, e)]] zur Veränderung der Bootparameter nur für diesen Systemstart [3]. In der vorletzten Zeile muss `init=/sbin/e4rat-collect` hinter „linux“ angehängt werden, damit e4rat für 120 Sekunden Informationen über den Bootvorgang sammelt. Das beinhaltet auch vom Nutzer gestartete Programme, es ist also sinnvoll, sich genau wie immer zu verhalten. Die Ergebnisse der Analyse stehen in '''/var/lib/e4rat/startup.log'''. {{{#!vorlage Hinweis Erst die 120 Sekunden warten und normal verhalten! Die Datei wird erst nach 120 Sekunden erstellt. }}} Um die Dateien jetzt in die richtige Reihenfolge zu bringen, sollte man in den Single-User-Modus wechseln, um möglichst wenig Dateien zu benutzen, welche dann nicht verschoben werden können. Dazu meldet man sich erst ab, wechselt mit [[Vorlage(Tasten, strg)]]+[[Vorlage(Tasten, alt)]]+[[Vorlage(Tasten, F1)]] in ein Terminal, meldet sich an und führt folgenden Befehl aus: {{{#!vorlage Befehl sudo init 1 }}} Nach einer Weile öffnet sich eine Root-Shell, in welcher man folgenden Befehl ausführt: {{{#!vorlage Befehl e4rat-realloc /var/lib/e4rat/startup.log }}} == Vorladen == Jetzt fügt man e4rat-preload zum Standard-Start hinzu, indem man in der Datei '''/etc/default/grub''' {{{ GRUB_CMDLINE_LINUX="" }}} durch {{{ GRUB_CMDLINE_LINUX="init=/sbin/e4rat-preload" }}} ersetzt [4] und danach mit Rootrechten [6] {{{#!vorlage Befehl update-grub }}} aufruft. Alle folgenden Systemstarts sollten nun beschleunigt sein. = Erneute Analyse = Wenn sich Änderungen am Systemstart oder an den nach dem Systemstart gestarteten Programme ergeben oder wenn viele Pakete aktualisiert wurden, kann es sein, dass die Reihenfolge der Dateien auf der Festplatte verändert wurde oder sie in einer anderen Reihenfolge benötigt werden. In diesem Falle muss der Punkt [#Analyse-des-Startvorgangs Analyse des Startvorgangs] wiederholt werden. = Tuning = e4rat-preload lädt standardmäßig erst alle Dateien, bevor der Prozess `init` gestartet wird, um weitere Programme zu starten. Ein Nutzer von e4rat hat sich des Problems angenommen und [http://e4rat-l.bananarocker.org/ e4rat-preload-lite] erschaffen, welches erst 200 Dateien lädt, dann `init` startet (welches nun von diesen Gebrauch macht) und den Rest parallel weiter lädt. Dadurch können ca. fünf Sekunden eingespart werden. e4rat-preload-lite liegt nur im Quellcode vor, die Kompilierung [5] gestaltet sich jedoch unproblematisch: {{{#!vorlage Befehl wget http://e4rat-l.bananarocker.org/e4rat-preload-lite-0.1.tar.gz -O - | tar xz cd e4rat-preload-lite-0.1/ gcc --std=gnu99 -o e4rat-preload-lite -O3 e4rat-preload-lite.c sudo cp e4rat-preload-lite /sbin/e4rat-preload-lite }}} Der Schritt nach dem Hinweis bei der Benutzung muss entsprechend für e4rat-preload-lite geschehen. Weitere Anpassungen sind durch Verändern der Optionen in '''e4rat-preload-lite.c''' möglich. = Hinweise zur Benutzung mit preload = Die Nutzung von Preload ist dann sinnvoll, wenn es mehrere Nutzer gibt oder sich im Allgemeinen die nach dem Start benötigten Programme ändern. Das liegt daran, dass e4rat-collect immer nur einen Startvorgang analysiert, nicht mehrere, während sich preload dynamisch anpasst. In diesem Falle sollte sich bis zum Ablauf der 120 Sekunden niemand bzw. nur der Hauptbenutzer anmelden. Alles hinter diesem Zeitpunkt liegt dann im Aufgabenbereich von preload. = Links = * [sourceforge2:e4rat:Projektseite] {en} * [https://bbs.archlinux.org/viewtopic.php?id=115976 Forenbeitrag e4rat] {en} * [https://bbs.archlinux.org/viewtopic.php?id=117776 Forenbeitrag e4rat-preload-lite] {en} #tag: System, Installation