Programmstarts beschleunigen

Während Ureadahead sich hauptsächlich auf das Beschleunigen des Bootvorgangs spezialisiert, sorgt Preload dafür, Applikationen möglichst schnell zu starten. Es lädt wie auch Ureadahead die protokollierten Programme in einer optimierten Reihenfolge in den Page-Cache, womit sie wesentlich weniger Zeit zum Starten benötigen. Preload findet sich zwar in den Ubuntu-Repositories, ist aber noch nicht vorinstalliert. Der Aufruf sudo apt-get install preload richtet es auf Ihrem Rechner ein und startet es danach automatisch.

Auch OpenSuse bringt einen bereits nach der Installation aktivierten Dienst namens Preload [4] mit. Er hat jedoch nichts mit dem hier vorgestellten Projekt gemein, sondern ähnelt in seiner Arbeitsweise eher Readahead.

Zwar steht die hier vorgestellte Variante von Preload auf der Projektseite als Quelltext zum Download bereit, jedoch verwendet der Autor den in OpenSuse unüblichen Installationspfad /usr/local/ um darin neben den Binaries auch die Konfigurationsdateien und Startskripte zu speichern. Zwar lässt sich beim Übersetzen mittels

# ./configure --sysconfdir=/etc --sbindir=/sbin

der Pfad anpassen, was aber nicht viel bringt, da er in den Skripten selbst nicht stimmt. Diese an die Suse-Gegebenheiten anzupassen ist mit erheblichem Aufwand verbunden, und sprengt den Rahmen dieses Artikels. Das Einrichten erledigen Sie mit dem üblichen Dreisatz ./configure, make und sudo make install.

Da der Installer unter Ubuntu auch die notwendigen Runlevel-Skripte anlegt, startet der Daemon direkt beim Booten. Ein Daemon prüft im 20-Sekunden-Rhythmus das System und protokolliert sämtliche Programmstarts. Das Ergebnis schreibt er in die Datei /var/lib/preload/preload.state. Diese Strategie hat jedoch einen kleinen Nachteil: Läuft eine Applikation kürzer als 20 Sekunden, nimmt Preload sie unter Umständen nicht wahr. Wie die meisten Linux-Daemons verfügt auch Preload über eine Konfigurationsdatei, in der Sie diesen und andere Werte anpassen. Sie finden diese unter /etc/preload.conf (Abbildung 2). Ändern Sie die voreingestellten Werte aber nur, wenn es mit diesen zu Problemen kommt.

Abbildung 2: In der Steuerdatei /etc/preload.conf legen Sie unter anderem fest, wie viel Speicher Preload im Höchstfall für sich in Anspruch nehmen darf.

Als wichtigste Parameter finden sich in der Konfiguration die Einstellungen des maximal nutzbaren Speichers. Zwar steht im entsprechenden Abschnitt eine Formel, aus der sich dieser berechnet, jedoch konnten wir die daraus gewonnen Werte nicht nachvollziehen. Einige Versuche sorgten jedoch für Klarheit. In der Grundeinstellung sieht das Programm praktisch den kompletten freien Speicher zum Puffern vor, nutzt jedoch tatsächlich nur zwischen 150 und 200 MByte. Am effektivsten begrenzen Sie den maximal verfügbaren Speicher mit dem Prozentwert hinter memfree. Senken Sie diesen auf beispielsweise 50, halbiert der Dienst nahezu den für ihn verfügbaren Speicherbereich. Um die Änderungen zu übernehmen, starten Sie den Dienst mit dem Aufruf /etc/init.d/preload restart neu.

Um kontinuierlich den aktuellen Status und Speicherverbrauch auszulesen tippen Sie als Nutzer root in der Konsole tail -f /var/log/preload.log. Sie sehen dann in Echtzeit, wieviel Speicher Reload gerade belegt, wie viel er reserviert, und wie viele Dateien er zwischenspeichert (Abbildung 3). Der Konsolenaufruf free -m zeigt Ihnen die aktuelle Speicherbelegung des ganzen Systems an.

Abbildung 3: Die Datei /var/log/preload.log zeigt Ihnen stets den aktuellen Status des Caching-Daemons.

Möchten Sie die Tests auf Ihrem System reproduzieren, löschen Sie im ersten Schritt den Page-Cache als Benutzer root mit dem Aufruf

# sync; echo 3 > /proc/sys/vm/drop_caches

Vergewissern Sie sich, dass keinerlei Preload-Programme laufen, und und messen Sie die Startzeit der Applikation vom Aufruf bis zum vollständigen Aufbau. Löschen Sie unbedingt nach jedem Test den Page-Cache aufs Neue, da anderenfalls Programmfragmente und geladene Bibliotheken das Ergebnis verfälschen können.

Anders als Readahead ist Preload ein relativ schlauer Dienst: Er puffert nicht einfach stur aufgerufene Programme, sondern beobachtet auch die Häufigkeit der Starts. Mit einer Halbwertszeit von einer Woche sinken Applikationen, die in diesem Zeitraum nicht mehr gestartet wurden, in der Prioritätenliste. Damit beugt der Dienst dem Effekt vor, dass Applikationen, die Sie selten verwenden, den Speicher blockieren.

Fazit

Möchten Sie einem lahmenden System auf die Beine helfen, finden Sie mit Ureadahead und Preload zwei potente Programme, die das bewerkstelligen. Mit dem vorausschauenden Laden von Programmen und der geschickten Anordnung der Reihenfolge erzielen Sie unter günstigen Umständen einen Geschwindigkeitsgewinn von bis zu 50 Prozent.

Infos

[1] Ureadahead: https://launchpad.net/ureadahead

[2] Preload: http://www.example.org/folder/

[3] Kernel kompilieren: Peter Kreußel, "Kerngeschäft", Linux-User 06/2006, S. 88, http://www.linux-user.de/ausgabe/2006/06/088-kernel-kompilieren/

[4] OpenSuse-Preload: http://tinyurl.com/lu-os-preload

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 10/2017: Daten retten & sichern

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 2 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...