Linux-Desktop-Tuning: Den Turbo mit Preload aktivieren

20 Kommentare Autor: Jürgen (jdo)

Preload Teaser 150x150Preload ist ein “Adaptive Readahead Daemon” und das bedeutet: Diese Software läuft still im Hintergrund und lädt beim Start Teile häufig benutzter Programme bereits in den Arbeitsspeicher. Wenn eine Anwender diese nun aufruft, ist das Öffnen schneller. Es bringt natürlich auch einen kleinen Nachteil mit sich, da der Startvorgang des Systems geringfügig länger dauert. Das Anmelden an den Desktop wird hingegen schneller vor sich gehen, da die wichtigen Teile bereits im Arbeitsspeicher sind. In meinen Augen ist der Nachteil zu vernachlässigen, weil die Vorteile von Preload klar überwiegen.

Das Thema an sich ist mir wieder eingefallen, als ich meinen zweiten Hauptrechner kürzlich runderneuert habe. Preload verhält sich so leise, dass es gerne in Vergessenheit gerät – völlig zu Unrecht.

Kleines Update: Ich habe herkömmliche Festplatten und keine SSDs!

Die Software hat natürlich keinen Kristallkugel-Modus und weiß daher nach einer Installation noch nicht, welche Programme Du am meisten verwendest. Deswegen stellt sich der Beschleunigungs-Effekt auch erst mit der Zeit ein – preload lernt nämlich mit und überwacht die Benutzung des Rechners. Aus diesem Grund nicht sofort nach der Installation gleich wieder in die Tonne kloppen. Gib dem preload ruhig ein bisschen Zeit, damit es sich an Dich gewöhnen kann.

Installation und Konfiguration

Die Installation ist in vielen Fällen recht einfach, weil sich das Programm in den meisten Repositories befindet. Unter Debian oder Ubuntu geht das einfach mit sudo apt-get install preload. Natürlich kannst Du auch Synaptic oder einen anderen Paket-Manager dafür verwenden.

Das war es eigentlich schon. Der Daemon startet sich und versucht ab sofort, Deine Gewohnheiten an diesem Rechner zu lernen. natürlich lässt sich Preload wie eigentlich jeder Daemon unter Linux konfigurieren. Die Standard-Einstellungen sind allerdings recht gut und ausgewogen und ich würde es zunächst damit versuchen.

Preload Konfigurations-Datei

Konfigurations-Datei

Wer dennoch selbst schrauben möchte, findet die Konfigurationsdatei unter Ubuntu unter /etc/preload.conf. Es gibt dort eigentlich recht wenig Parameter, die in englischer Sprache ausreichend gut erklärt sind. Wer zum Beispiel cycle zu niedrig ansetzt, könnte sein System damit verlangsamen. Dieser Wert ist in Sekunden angegeben und bestimmt, wie oft Preload Daten einsammeln soll. Der Standard steht bei mir auf 20 Sekunden.

Wesentlich interessanter sind die Werte memtotal, memfree und memcached. Diese werden in Prozent angegeben und Preload verwendet diese, um den maximal zu benutzenden Speicher für das Vorladen auszurechnen. Dazu dient die Formel max (0, TOTAL * memtotal + FREE * memfree) + CACHED * memcached. Die Werte TOTAL, FREE und CACHED sind keine Zufalls-Zahlen, sondern werden während der Laufzeit aus /proc/meminfo geholt. Per Standard stehen memtotal auf -10, memfree auf 50 und memcached auf 0. Diese Angaben sind in Prozent.

Preload legt natürlich auch artig eine Log-Datei an. Du könntest sogar mehr oder weniger live verfolgen, was Preload so treibt: sudo tail -f /var/log/preload.log. Allerdings ist der Daemon in der Standard-Einstellung nicht sehr gesprächig. Ein man preload verrät, dass der Geschwätzigkeits-Grad, der sich mittels -V einstellen lässt, per Standard auf 4 von 10 ist.

Wer ganz genau wissen möchte, welche Dateien Preload im Cache vorhält, kann dies mittels sudo less /var/lib/preload/preload.state herausfinden.

Ein paar Werte

Dass Preload der Geschwindigkeit des Systems tatsächlich gut tut, lässt sich einfach beweisen. Starte ich zum Beispiel LibreOffice ohne den Readahead-Daemon, braucht die Büro-Software 1,793 Sekunden. Mit Preload nur noch 1,542 Sekunden. Das hört sich jetzt etwas lächerlich an. Tippt man die Werte allerdings in einen Taschenrechner, kommen da ungefähr 16 Prozent Geschwindigkeitsgewinn heraus.

Ähnlich verhält es sich mit allen anderen Programmen, die ich am meisten benutze. Es kommen immer Werte zwischen 14 und 20 Prozent schnellere Startzeiten heraus.

Start LibreOffice ohne Preload

LibreOffice ohne Preload: 1,793 Sekunden

Start LibreOffice mit Preload

LibreOffice mit Preload: 1,542 Sekunden

Fazit

Die 4 GByte in meinem Rechner nutze ich sowieso meist nicht voll aus. Von daher darf sich Preload ruhig etwas abknappsen und mir dafür das Gefühl eines schnelleren Rechners geben. Ich benutze Preload schon seit Jahren und hatte nie Probleme damit. Es läuft unauffällig im Hintergrund und beobachtet meine Gewohnheiten am Computer – für die Neugierde entlohnt es mit mit schnelleren Programmstarts. Irgendwie eine Win-Win-Situation 🙂

Ich kann jedem nur empfehlen, Preload zu testen. Bei mir ist nach einer Neuinstallation grundsätzlich die erste Aktion, Preload zu installieren. Wenn es Dir gar nicht gefällt, oder Probleme macht, ist es ebenso schnell wieder deinstalliert. Die Software ist nur wenige Kilobyte groß und fällt somit definitv in die Sektion: Klein aber oho!

Ein Schlusswort, um eventuelle Irrtümer aus dem Weg zu räumen: Preload macht natürlich de Computer nicht schneller – das System fühlt sich schneller an, weil sich wie anfangs erwähnt gewisse Dateien bereits im Arbeitsspeicher befinden. Aus dem RAM zu lesen ist in der Regel immer schneller, als von der Festplatte. Der Trick ist also RAM statt Massenspeicher.




 Alle Kommentare als Feed abonnieren

20 Kommentare zu “Linux-Desktop-Tuning: Den Turbo mit Preload aktivieren”

  1. Yunoundastand says:

    Hahaha. Du hast Tags vergessen: SSD, Satire.

    • jdo says:

      Ich hab aber keine SSD und mein System ist damit schneller.

      • Yunoundastand says:

        jdo,

        du meinst also ernsthaft, das einpflegen, konfigurieren und warten dieses Programmes lohnt den Zeitgewinn von z.B. 0,2Sek., zudem der Startvorgang verlängert wird? Abgesehen davon hat Ubuntu ja z.B. eine Snapshotfunktion ("Programme merken"), und bei einer SSD wirds noch mal enger mit den "Vorteilen" dieser Ramdisk. 😉

        • jdo says:

          1. Ich verwende aber nicht nur Ubuntu (beziehungsweise gar kein Ubuntu, sondern Xubuntu auf einem Rechner) und zum Beispiel bei Corel Aftershot Pro ist die Startzeit um über 20% schneller. Auf meinem "Photo-Rechner" geht das Programm täglich mehrmals auf und zu und daher lohnt es sich für mich.

          2. Linux Mint 11 zum Beispiel hat die Eigenart auf meinem Laptop, bestimmte Applets beim Anmelden irgendwie nicht rechtzeitig laden zu können, startet diese nicht und wirft eine Fehlermeldung aus mit dem Angebot, dieses Applet zu löschen. Mit Preload ist das/die Applet/s aber bereits im Arbeitsspeicher und somit gibt es bei mir damit keine Probleme mehr.

          3. Ich muss das Programm nicht konfigurieren, weil ich es in den Standard-Einstellungen einfach so gelassen habe.

          4. Wenn Du viel Arbeitsspeicher hast, kann auch ein System mit einer SSD wahrscheinlich davon profitieren. Ich habe Google bemüht und diesen Post gefunden - Zitat: "... Die Kombi aus Preload und SSD ist in meinen Augen der Trick. Oft benötigte Sachen ab in den Speicher, die im Vergleich zur Speicherbandbreite doch immer noch recht geringe Bandbreite der SSD für wirklich benötigte Sachen sparen. Das ist zwar ein geräte- und programmiertechnischer Overkill, der sich aber in meinen Augen wirklich lohnt. ..."

          Ja, bei mir lohnt es sich.

          • Yunoundastand says:

            1+4) Normalerweise cached Linux das für Dich und bei viiiiel Arbeitsspeicher, wie in dem Beispiel, brauchst Du die Programme auch zwischenzeitlich nicht zu schließen.
            2) Ist wohl eine Besonderheit, und kein allgemeiner Anwendungsfall, wie im Artikel dargestellt.
            3) Mehr Programme bedeuten auch mehr Administration.

          • jdo says:

            Die Administrationszeit, die ich in preload stecke ist die apt-get-Zeile - und die Zeit habe ich beim Aufruf einiger Programme wieder drinnen. Aber ich höre nun auf, mich für etwas zu rechtfertigen, das bei mir seit Jahren funktioniert und meine Rechner spürbar reaktionsfreudiger macht.

        • stfischr says:

          Nanana

          Du solltest dich vielleicht mal informieren. preload hat nix mit einer Ramdisk zu tun. preload nutzt den ganz normalen Lesecache von Linux. Der Vorteil ist nur, das der Cache schon vor dem Programmstart gefüllt ist.

          Und das es sich für 0.2s nicht lohnt sollte ja klar sein. Aber man starte mal Programme wie Eclipse, die so gut 30s brauchen, da merkt man deutliche Unterschiede.

  2. fabi says:

    Wie sieht es da aus mit der Kompatibilität zu "ureadahead" Was ja das selbe macht, nur für den Startvorgang. Ich kann mir vorstellen, dass sich beide da auf dem Fuß stehen und sich gegenseitig "vorladen" was die Geschwindigkeit verringert.

    • jdo says:

      Die beiden stehen sich nicht auf den Füßen und können miteinander. Preload überwacht im Gegensatz zu ureadahead das Benutzerverhalten. Ureadahead schaut lediglich nach, welche Dateien beim Systemstart geladen werden und LibreOffice und so weiter gehören da nicht dazu.

      Probiers einfach aus - bei mir laufen auch beide und meine Programme sind 15-20 Prozent schneller einsatzbereit.

  3. wtnotse says:

    Hey, werde ich mal Ausprobieren.

    Wie verhält 'preload' sich denn mit Servern? Gibt es da auch einen mehr Gewinn?

    • jdo says:

      Auf einem Server dürftest Du weniger davon haben. Die startest Du ja nicht dauernd neu und Server führen eher spezifische Tasks aus. Zum Beispiel ein DB-Server wird halt sein MySQL/PostgreSQL starten und das läuft dann dauerhaft. Ich kann da keinen Vorteil von vorausschauendem Lesen und Schreiben in das RAM erkennen. Beziehungsweise möchtest Du auf einem Server vielleicht Deinen Speicher so frei wie möglich halten, falls der bei großer Last diesen wirklich benötigt.

      Auf meinem kleinen Server hab ich es nicht im Einsatz (obwohl sich der eher langweilt als auf Vollast zu laufen). Auf meinen Rechner wie gesagt schon, weil ich da die 4 GByte so gut wie nie ausreize und daher dem Preload etwas abgeben kann.

      • wtnotse says:

        Danke dir. 🙂 Stimmt eigentlich, auf einem Server läuft es ja meist durchgängig.

        Dachte nur daran, das ja bestimmt einige Prozesse davon aufgemacht werden und man das damit irgendwie optimieren kann. Kenn mich leider dafür auch zu wenig im Server Bereich aus. 🙁

  4. senden9 says:

    Hi!
    Wie misst du die Startzeit? Misst Time nicht die gesamte Laufzeit?

    Lg

    • jdo says:

      Bei LibreOffice nicht (auch bei OpenOffice nicht) ... das andere ist mit der guten alten Stoppuhr gemessen ... 🙂

      Aber gerade das fette Aftershot braucht gut über 20 Sekunden mit Preload und über 30 Sekunden ohne (ja, mein Photo-Rechner braucht dringen ein Hardware-Upgrade!). Da ist die Messgenauigkeit für meine Begriffe mit der Stoppuhr schon ok.

  5. Matthias says:

    Das Programm war mir völlig unbekannt, Danke für den Tip!

  6. blackseven says:

    Könnt ihr mal gute Parameter nennen? Ich habe es jetzt auch installiert und mein System ist nachvollziehbar langsamer. Wenn ich beispielsweise Chrome starte, werden die Favoritensymbole und die Bilder der "meistbesuchten Seiten" fast einzeln aufgebaut. Das war vorher anders. Auch Aftershotpro dauert bei mir länger, bis es bereit ist. Da ich es aber noch nicht aufgeben will, denke ich, das es ggf. an den Parametern liegt. Habe ein Notebook mit Centrino vPro DualCore und S-ATA-Platte (500Gig)sowie 6Gig Speicher. Vielleicht hat da ja schon jemand Erfahrungswerte mit einer ähnlichen Konfiguration.

    • jdo says:

      Also ich verwende die Standard-Parameter und bei mir läuft es gut. Spiel vielleicht mal mit den gleichzeitig laufenden Prozessen rum und senk diese ein bisschen ...

      • blackseven says:

        Ich gehe mal davon aus, dass Du zwischen Deinen vorher/nachher-Messungen gebootet hast, oder?

        Ich habe jetzt noch mit einigen Parametern gespielt, trotzdem bleibt das Ergebniss in etwa gleich. Am Beispiel AfterShotpro: Ohne Preload 15 Sekunden incl. Verzeichniss laden, mit Preload zwischen 23 und 25 Sekunden. Da das System von beendeten programmen noch einiges im Cache behält, um diese bei erneutem Bedarf schneller zu laden, habe ich immer dazwischen gebootet. So dauert ein zweiter Start von ASP bei meinem System nur noch ca. 8 sek.

        Preload hat daher eben mein System wieder verlassen...

        • jdo says:

          Ja, ich habe dazwischen immer neu gestartet. Ich hatte damit noch nie Probleme ... wäre interessant rauszufinden, woran das liegt.

          Bei mir bleibt es jedenfalls drauf 🙂