Wie kann man unter Ubuntu 16.04 wirklich langsames Booten beschleunigen?
39
Ich versuche zu verstehen, was ich tun muss, um meinen Start mit Ubuntu 16.04 zu beschleunigen. Ich habe dmesg ausgeführt und die Ausgabe hier gespeichert . Nach etwa 10 Sekunden scheint alles schief zu gehen.
Wenn Sie sich Ihr dmesg ansehen, finden Sie möglicherweise einen Eintrag wie "Neue Mount-Optionen stimmen nicht mit dem vorhandenen Superblock überein". Wenn ja, Google für diesen String und es wird Sie zu einem Linux-Fehler führen, der noch nie behoben wurde
NickT
Ich glaube nicht, dass ich diesen Fehler oder ähnliches sehe.
Packwood
Warum fühlen Sie sich nach 10 Sekunden schlecht? Welche Botschaft ist Ihrer Meinung nach besonders besorgniserregend?
Ciro Santilli 事件
Antworten:
44
Sie können versuchen herauszufinden, was mit systemd am meisten Zeit in Anspruch nimmt
Ja na und danach Muss ich einige Dienste am Laufen halten?
Mohammed Amin Bourkadi
29
Das Bearbeiten der UUID von / etc / fstab für den Swap-Bereich (entsprechend der Ausgabe von sudo blkid) hat wie ein Zauber funktioniert!
Hinweis : Wenn sich danach Swap-Einträge in der /etc/crypttabDatei befinden, sollten Sie den zweiten Parameter so ändern, dass er mit Ihrem Swap-Bereich übereinstimmt, entweder über die UUID oder über den Pfad (dh UUID = etwas oder / path / to / swap).
Auf meiner SSD ging der Bootvorgang von 2 Minuten auf weniger als 10 Sekunden zurück.
Die Sache ist, ich habe gerade ein normales Upgrade von 14.04 auf 16.04 durchgeführt, ohne mit Partitionen herumzuspielen, als dieses Problem begann. Offensichtlich gibt es einige Probleme mit dem Upgrade-Verfahren.
Vielen Dank, das hat mir sehr geholfen: Zu Testzwecken hatte ich einen Swap auf einen Wechseldatenträger gelegt, kein Bootproblem, wenn die Festplatte am 14.04 nicht vorhanden war, am 16.04 dauerte das Booten 1 oder 2 Minuten länger. Es scheint, dass Kernel 3 schneller war als Kernel 4, als der Swap nicht gegründet wurde.
Emmanuel
Vielen Dank. Du hast mir viel Zeit gespart. Ich habe auch das System von 14.04 aufgerüstet, sodass dieses Problem aufgetreten ist.
PaladiN
Danke, ich hatte das gleiche Problem mit der falschen Swap-UUID. Nachdem ich sie auf blkid geändert hatte, dauerte der Startvorgang lange, von etwa 60 Sekunden auf nur 5 Sekunden
Ja, aktualisieren Sie auf 17.10, aber mein Swap-UUID-Match mit dem Ergebnis von "blkid"
Vasil Valchev
10
Ich habe nach dem Upgrade ein ähnliches Problem mit einer längeren Startzeit.
Was war das Problem?
Ich hatte meinen Auslagerungsbereich gelöscht, sodass in meiner / etc / fstab-Datei und meinem neuen Dateisystem Konflikte auftraten. Der Bootloader wartete fast 1:30 Minuten, bis er es fand.
Wie ich das Problem gelöst habe
Führen Sie sudo blkid aus
Öffnen Sie die Datei / etc / fstab und vergleichen Sie die Übereinstimmung der UUID mit den vorhandenen Partitionen. Sollte dies nicht der Fall sein, ändern Sie dies und starten Sie den Computer neu.
Hinweis: Bitte optimieren Sie diese Werte, um sie Ihren Hardwarebedürfnissen anzupassen ~ 5 - 60s.
Wie hier erläutert , konfigurieren diese Parameter die Standard-Zeitüberschreitungen für das Starten und Stoppen von Einheiten sowie die Standard- Ruhezeit zwischen automatischen Neustarts von Einheiten, wie pro Einheit in konfiguriert TimeoutStartSec=, TimeoutStopSec=und RestartSec=(für Dienste siehe systemd.service (5) für Angaben zu den Einstellungen pro Einheit).
Legt für Nicht-Service-Einheiten DefaultTimeoutStartSec=die Standardeinstellung fest TimeoutSec= value. DefaultTimeoutStartSec=und DefaultTimeoutStopSec=standardmäßig auf 90s. DefaultRestartSec=Standardeinstellung ist 100ms.
Bearbeiten - Ausführlicher:
Ich analysierte die Startsequenz mit dem Ergebnis, systemd-analyze plot > sequence.svgdass die Dienste auf meinem frisch aktualisierten Betriebssystem nicht gestartet werden konnten. Es gab drei - einer war ein falsch konfigurierter sendmail- Daemon, dann powerd.service & NetworkManager-wait-online.service . Da es keine gute Idee ist, den NetworkManager-Dienst vollständig zu deaktivieren, habe ich das Timeout nach 10 Sekunden eingestellt und diese Regel global angewendet.
Könnten Sie erläutern, wie diese Lösung Ihre Startzeit um 68 Sekunden verkürzt hat?
Elder Geek
Keine Probs, viel Spaß!
Mirek
Das funktioniert bei mir nicht, da meine Startzeit nach dem Anwenden der Änderungen von 52 auf 57 Sekunden gesunken ist.
Woeitg
1
10s ist zu niedrig. Es kann den Start in den Wiederherstellungsmodus versetzen. Ich benutze 30s
Anwar
10s brachen meinen Boot am 18.04. Repariert jetzt Ubuntu im Wiederherstellungsmodus.
Pasupathi
1
Dies könnte mit Problemen mit dem Dateisystem zusammenhängen. Sie können diesen Link überprüfen, um festzustellen, ob das Reparieren Ihres Dateisystems die Startzeit verkürzt:
https://help.ubuntu.com/community/FilesystemTroubleshoot
Hmm. Jetzt scheint es [länger zu sein!] ( pastebin.com/a5g4wHvA ) Sieht so aus, als würde es nach ungefähr 30 Sekunden schief gehen. "eth0: Link ist nicht bereit" "nf_conntrack: Automatische Helferzuweisung ist veraltet und wird bald entfernt. Verwenden Sie stattdessen das CT-Ziel iptables, um Helfer anzuhängen"
Packwood,
0
Ich hatte ein ähnliches Problem, das ich gerade gelöst habe: Ich habe Ubuntu 16.04 auf einer SSD ausgeführt. Ich benutze ein Flash-Laufwerk als Swap-Partition. Das Laufwerk wurde versehentlich leicht bewegt und das Booten dauerte mehr als 3 Minuten. Ich habe es richtig zurückgesetzt und jetzt ist alles in Ordnung. Falls Sie es mit smartctl oder fsck versucht haben und Ihr Dateisystem in Ordnung ist, versuchen Sie, Flash-Laufwerke (oder andere Peripheriegeräte?) Zu entfernen und zu sehen, wie es funktioniert. Viel Glück!
Basierend auf Ihrer Pastebin-Ausgabe fallen mir ein paar Dinge auf:
EXT4-fs (sda5): re-mounted
Möglicherweise möchten Sie dieses Volume überprüfen und sich Smart Data für dieses Laufwerk ansehen .
und
[ 31.022220] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 45.720952] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 45.761548] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
Sie können versuchen, IPV6 für Ihre Netzwerkverbindungen zu deaktivieren, wenn Ihre Verbindung dies nicht unterstützt.
Überprüfen Sie, ob es einen Dienst gibt, dessen Start lange dauert, und stellen Sie ein niedrigeres Zeitlimit ein:
sudo vim /lib/systemd/system/networking.service
Ändern Sie TimeoutStartSecin etwas wie 10s. In der Manpage heißt es: Nimmt einen Wert ohne Einheit in Sekunden oder einen Zeitspannenwert wie "5min 20s". Übergeben Sie "unendlich", um die Timeout-Logik zu deaktivieren.
Antworten:
Sie können versuchen herauszufinden, was mit systemd am meisten Zeit in Anspruch nimmt
quelle
Das Bearbeiten der UUID von / etc / fstab für den Swap-Bereich (entsprechend der Ausgabe von
sudo blkid
) hat wie ein Zauber funktioniert!Hinweis : Wenn sich danach Swap-Einträge in der
/etc/crypttab
Datei befinden, sollten Sie den zweiten Parameter so ändern, dass er mit Ihrem Swap-Bereich übereinstimmt, entweder über die UUID oder über den Pfad (dh UUID = etwas oder / path / to / swap).Auf meiner SSD ging der Bootvorgang von 2 Minuten auf weniger als 10 Sekunden zurück.
Die Sache ist, ich habe gerade ein normales Upgrade von 14.04 auf 16.04 durchgeführt, ohne mit Partitionen herumzuspielen, als dieses Problem begann. Offensichtlich gibt es einige Probleme mit dem Upgrade-Verfahren.
quelle
Ich habe nach dem Upgrade ein ähnliches Problem mit einer längeren Startzeit.
Was war das Problem? Ich hatte meinen Auslagerungsbereich gelöscht, sodass in meiner / etc / fstab-Datei und meinem neuen Dateisystem Konflikte auftraten. Der Bootloader wartete fast 1:30 Minuten, bis er es fand.
Wie ich das Problem gelöst habe Führen Sie sudo blkid aus
Öffnen Sie die Datei / etc / fstab und vergleichen Sie die Übereinstimmung der UUID mit den vorhandenen Partitionen. Sollte dies nicht der Fall sein, ändern Sie dies und starten Sie den Computer neu.
quelle
dmesg
Ausgabe in der Frage zeigt, dass OP ein anderes Problem hat.Es ist eine Problemumgehungslösung, aber dies hat meine Startzeit erheblich verkürzt (von 1 Minute 24 Sekunden auf 16 Sekunden).
Kommentieren Sie diese beiden Parameter aus und stellen Sie das gewünschte Zeitlimit ein:
Hinweis: Bitte optimieren Sie diese Werte, um sie Ihren Hardwarebedürfnissen anzupassen ~ 5 - 60s.
Wie hier erläutert , konfigurieren diese Parameter die Standard-Zeitüberschreitungen für das Starten und Stoppen von Einheiten sowie die Standard- Ruhezeit zwischen automatischen Neustarts von Einheiten, wie pro Einheit in konfiguriert
TimeoutStartSec=
,TimeoutStopSec=
undRestartSec=
(für Dienste siehe systemd.service (5) für Angaben zu den Einstellungen pro Einheit).Legt für Nicht-Service-Einheiten
DefaultTimeoutStartSec=
die Standardeinstellung festTimeoutSec= value
.DefaultTimeoutStartSec=
undDefaultTimeoutStopSec=
standardmäßig auf 90s.DefaultRestartSec=
Standardeinstellung ist 100ms.Bearbeiten - Ausführlicher:
Ich analysierte die Startsequenz mit dem Ergebnis,
systemd-analyze plot > sequence.svg
dass die Dienste auf meinem frisch aktualisierten Betriebssystem nicht gestartet werden konnten. Es gab drei - einer war ein falsch konfigurierter sendmail- Daemon, dann powerd.service & NetworkManager-wait-online.service . Da es keine gute Idee ist, den NetworkManager-Dienst vollständig zu deaktivieren, habe ich das Timeout nach 10 Sekunden eingestellt und diese Regel global angewendet.quelle
Dies könnte mit Problemen mit dem Dateisystem zusammenhängen. Sie können diesen Link überprüfen, um festzustellen, ob das Reparieren Ihres Dateisystems die Startzeit verkürzt: https://help.ubuntu.com/community/FilesystemTroubleshoot
quelle
Ich hatte ein ähnliches Problem, das ich gerade gelöst habe: Ich habe Ubuntu 16.04 auf einer SSD ausgeführt. Ich benutze ein Flash-Laufwerk als Swap-Partition. Das Laufwerk wurde versehentlich leicht bewegt und das Booten dauerte mehr als 3 Minuten. Ich habe es richtig zurückgesetzt und jetzt ist alles in Ordnung. Falls Sie es mit smartctl oder fsck versucht haben und Ihr Dateisystem in Ordnung ist, versuchen Sie, Flash-Laufwerke (oder andere Peripheriegeräte?) Zu entfernen und zu sehen, wie es funktioniert. Viel Glück!
quelle
Basierend auf Ihrer Pastebin-Ausgabe fallen mir ein paar Dinge auf:
EXT4-fs (sda5): re-mounted
Möglicherweise möchten Sie dieses Volume überprüfen und sich Smart Data für dieses Laufwerk ansehen .
und
Sie können versuchen, IPV6 für Ihre Netzwerkverbindungen zu deaktivieren, wenn Ihre Verbindung dies nicht unterstützt.
quelle
Folgender Hinweis von user536489:
Überprüfen Sie, ob es einen Dienst gibt, dessen Start lange dauert, und stellen Sie ein niedrigeres Zeitlimit ein:
Ändern Sie
TimeoutStartSec
in etwas wie10s
. In der Manpage heißt es: Nimmt einen Wert ohne Einheit in Sekunden oder einen Zeitspannenwert wie "5min 20s". Übergeben Sie "unendlich", um die Timeout-Logik zu deaktivieren.quelle