e4rat
Archivierte Anleitung
Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
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 e4rat 🇬🇧, 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 Dateiene4rat-realloc
- ordnet die Dateien auf der Festplatte ume4rat-preload
- lädt die Dateien, bevor sie genutzt werden
Achtung!
e4rat funktioniert nur mit ext4-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 ureadahead. Dieses Programm muss zuerst deinstalliert [2] werden.
Installation¶
Fremdpaket¶
Jetzt muss das Debian-Paket von der Sourceforge-Projektseite heruntergeladen und installiert [2] werden.
Hinweis!
Fremdpakete können das System gefährden.
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
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.
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 Strg + Alt + F1 in ein Terminal, meldet sich an und führt folgenden Befehl aus:
sudo init 1
Nach einer Weile öffnet sich eine Root-Shell, in welcher man folgenden Befehl ausführt:
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]
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 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 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:
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¶