e4rat

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Ein Terminal öffnen

  2. Installation von Programmen

  3. GRUB 2 verändern

  4. Einen Editor verwenden

  5. Programme kompilieren

  6. Root-Rechte erlangen

Inhaltsverzeichnis
    1. Vorbereitungen
  1. Installation
    1. Fremdpaket
  2. Bedienung
    1. Analyse des Startvorgangs
    2. Vorladen
  3. Erneute Analyse
  4. Tuning
  5. Hinweise zur Benutzung mit preload
  6. Links

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 {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:

Achtung!

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 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.