
Ich möchte die Startzeit beschleunigen und habe eineTippZu:
- Bearbeiten Sie „/etc/default/grub“ und ändern Sie die Zeile
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
inGRUB_CMDLINE_LINUX_DEFAULT="quiet splash profile"
; - Führen Sie
sudo update-grub2
die Maschine aus und booten Sie sie. - Bearbeiten Sie die Grub-Konfigurationsdatei erneut und entfernen Sie
profile
ausGRUB_CMDLINE_LINUX_DEFAULT
; - 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 profile
ist 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
boot
und Booten mit Kernelparameterprofile
, obwohldieser Fehlerberichtlegt nahe, dass es sich um eine nicht dokumentierte und nur für Entwickler zugängliche Option handelt.
readahead
von 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 Original
readahead
- Profile gespeichert in
/etc/readahead.d/custom.{early,later}
- Profilierung ausgelöst durch
touch /readahead_collect
oder- Festlegen der Kernelparameter
profile
beim Booten.
- automatisch mindestens einmal im Monat Profile erstellen
- Ersetzt auf Ubuntu durch
ureadahead
Das Original readahead
und readahead-fedora
eine 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
dpkg
Trigger, die die Auslagerungsdatei auslösen und aktualisieren, wenn etwas installiert wird, das damit zusammenhängtinit
.
Ubuntu >= 15.04
systemd
ist das Standard-Init-System seit Vivid. Es brachte seinen eigenen Readahead-Mechanismus mit. ureadahead
funktioniert nicht mit systemd
. Aber selbst systemd-readahead
wird mittlerweile nicht mehr gewartet und ist veraltet, da anscheinend heutzutage jeder eine SSD besitzt... ureadahead
wird auf Vivid beim Booten mit verwendet upstart
.
Wie erwartet wurde Ihr System
ureadahead
installiert, 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. upstart
sollte 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 .pack
in diesem Verzeichnis. Melden Sie sich nach dem Booten schnell an, da ureadahead
auch 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.