Warum funktioniert die Verwendung von „Profil“ in Grub zur Optimierung der Startzeit bei mir nicht? Wie kann ich den Effekt rückgängig machen?

Warum funktioniert die Verwendung von „Profil“ in Grub zur Optimierung der Startzeit bei mir nicht? Wie kann ich den Effekt rückgängig machen?

Bildbeschreibung hier eingebenIch möchte die Startzeit beschleunigen und habe eineTippZu:

  1. Bearbeiten Sie „/etc/default/grub“ und ändern Sie die Zeile GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"in GRUB_CMDLINE_LINUX_DEFAULT="quiet splash profile";
  2. Führen Sie sudo update-grub2die Maschine aus und booten Sie sie.
  3. Bearbeiten Sie die Grub-Konfigurationsdatei erneut und entfernen Sie profileaus GRUB_CMDLINE_LINUX_DEFAULT;
  4. Aktualisieren Sie Grub erneut und starten Sie neu.

Das Ergebnis war jedoch laut Ausgabe eine Verlängerung der Bootzeit um 10 Sekunden dmesg!

Was ist schiefgelaufen? Warum funktioniert dieser Tipp bei mir nicht? Wie kann ich diese Einstellung rückgängig machen? Wo wird diese Profildatei in Xubuntu gespeichert? Kann ich dieses neue Profil problemlos löschen?

Antwort1

Eine Anmerkung gleich zu Beginn:Auch wenn Sie mit Ubuntu 13.10 zufrieden sind, würde ich Ihnen dennoch dringend empfehlen, auf 14.04 LTS zu aktualisieren. Saucy hat seit über einem Jahr das Ende seiner Lebensdauer erreicht, was bedeutet, dass Sie seitdem keine Updates mehr dafür erhalten haben – was aus Sicherheitsgründen nicht gut ist. Außerdem sind EOL-Versionen hier technisch gesehen kein Thema.


Der Kernel-Boot-Parameter profileist ein Auslöser für Readahead-Profiling beim Booten. Wenn er gesetzt ist, readaheadüberwacht ein Daemon den Boot-Prozess, sucht nach Dateien, die während des Bootens geladen werden, und schreibt eine entsprechende Listendatei. Diese Datei wird beim nächsten Booten verwendet und sollte die Boot-Zeit durch Reduzierung der Festplattensuchvorgänge verkürzen.

Es gibt einige solcher Readahead-Mechanismen, die im Laufe der Jahre kamen und gingen. Hier ist meine Meinung dazu und ich hoffe, dass sie mehr oder weniger zutreffend ist.

Original readahead(veraltet)

Die letzte Version, die in den Ubuntu-Archiven gefunden wurde, stammt aus dem Jahr 2005. Sie können sie nicht mehr über das Repository installieren. Ich weiß nicht, wann sie ersetzt wurde, aber es muss irgendwann vor 10.04 gewesen sein.

  • Profil gespeichert in /etc/readahead/boot.
  • Auslösen des Profilings durch Verschieben bootund Booten mit Kernelparameter profile, obwohldieser Fehlerberichtlegt nahe, dass es sich um eine nicht dokumentierte und nur für Entwickler zugängliche Option handelt.

readaheadvon Fedora

Ursprünglich von Fedora und dort immer noch für Systeme verwendet, die nicht mit booten systemd.

  • Das Ubuntu-Paket ist readahead-fedora. Über das Repository verfügbar.
  • ersetzt das Originalreadahead
  • Profile gespeichert in/etc/readahead.d/custom.{early,later}
  • Profilierung ausgelöst durch
    • touch /readahead_collectoder
    • Festlegen der Kernelparameter profilebeim Booten.
  • automatisch mindestens einmal im Monat Profile erstellen
  • Ersetzt auf Ubuntu durchureadahead

Das Original readaheadund readahead-fedoraeine Liste der Dateien, die beim Booten benötigt werden. Diese Liste wird beim Booten in einer Reihenfolge gelesen, die die Anzahl der Suchvorgänge auf der Festplatte minimiert.

ureadahead

Dies ist die Standardeinstellung unter Ubuntu seit – glaube ich – 10.04.

  • Vorinstalliert
  • Erstellt tatsächlich eine Auslagerungsdatei, die beim Booten in den Speicher geladen wird.
  • Gespeichert in /var/lib/ureadahead/pack. Um die Profilerstellung beim nächsten Start zu erzwingen, entfernen Sie diese Datei.
  • Installiert dpkgTrigger, die die Auslagerungsdatei auslösen und aktualisieren, wenn etwas installiert wird, das damit zusammenhängt init.

Ubuntu >= 15.04

systemdist das Standard-Init-System seit Vivid. Es brachte seinen eigenen Readahead-Mechanismus mit. ureadaheadfunktioniert nicht mit systemd. Aber selbst systemd-readaheadwird mittlerweile nicht mehr gewartet und ist veraltet, da anscheinend heutzutage jeder eine SSD besitzt... ureadaheadwird auf Vivid beim Booten mit verwendet upstart.


Wie erwartet wurde Ihr System ureadaheadinstalliert, das den Parameter nicht akzeptiert profile. Warum Sie nach dem Festlegen des Profils eine längere Startzeit feststellen, ist nicht verständlich. Wenn Sie auch den zweiten Hack in der Anleitung angewendet haben, der Sie gefolgt sind ( CONCURRENCY=...), könnte dies der Übeltäter sein. upstartsollte das von selbst erledigen.

Wie bereits erwähnt, entfernen Sie die Datei ureadahead, um eine Neuprofilierung zu erzwingenpack

sudo rm /var/lib/ureadahead/pack

und möglicherweise alle anderen .packin diesem Verzeichnis. Melden Sie sich nach dem Booten schnell an, da ureadaheadauch nach Abschluss des Bootvorgangs noch etwas aufgezeichnet wird. Auf diese Weise wird hoffentlich auch die Unity-Shell oder was auch immer Sie verwenden, einbezogen.

Wenn Sie wirklich einen guten Überblick darüber haben möchten, was wie lange dauert, bis es startet, schauen Sie sich an:Bootchart. Es generiert eine grafische Darstellung des Bootvorgangs.

verwandte Informationen