Comment accélérer un démarrage très lent sur Ubuntu 16.04?

39

J'essaie de comprendre ce que je dois faire pour accélérer mon démarrage avec Ubuntu 16.04. J'ai exécuté dmesg et enregistré la sortie ici . Tout semble aller mal après environ 10 secondes.

Packwood
la source
Si vous examinez votre dmesg, vous trouverez peut-être une entrée telle que "les nouvelles options de montage ne correspondent pas au superbloc existant". Si donc Google pour cette chaîne et cela vous mènera à un bogue Linux qui n'a jamais été corrigé
NickT
Je ne pense pas que je vois cette erreur ou similaire.
Packwood
Pourquoi pensez-vous que les choses deviennent mauvaises en 10 secondes? Quel message pensez-vous est particulièrement inquiétant?
Ciro Santilli a rejoint le forum

Réponses:

45

Vous pouvez essayer de savoir ce qui prend le plus de temps avec systemd

systemd-analyze blame
utilisateur536489
la source
32
Oui et après? Dois-je arrêter certains services?
mohammed amine bourkadi
29

Éditer l' UUID de / etc / fstab de l'espace de permutation (pour correspondre à la sortie de sudo blkid) a fonctionné comme un charme!

Remarque : Après cela, s'il y a des entrées de swap dans le /etc/crypttabfichier, vous devez changer le second paramètre pour qu'il corresponde à votre espace de swap, soit par UUID, soit par chemin (par exemple, UUID = quelque chose ou / chemin / en / swap).

Sur mon SSD, le démarrage est passé de 2 minutes à moins de 10 secondes.

Le fait est que je viens de faire une mise à niveau normale du 14.04 au 16.04, sans déconner avec les partitions, lorsque ce problème a commencé. Clairement, la procédure de mise à niveau pose certains problèmes.

M Dub
la source
Merci, cela m'a beaucoup aidé: à des fins de test, j'avais échangé un caddie amovible, aucun problème de démarrage lorsque le disque n'était pas là le 14.04, le démarrage du 16.04 a pris 1 ou 2 minutes de plus. Il semble que le noyau 3 était plus rapide que le noyau 4 lorsqu'il n'a pas fondé l'échange.
Emmanuel
Merci. tu m'as sauvé beaucoup de temps. J'étais également en train de mettre à jour le système à partir de 14.04 alors ce problème est survenu.
PaladiN
Merci, j'ai eu le même problème avec UUID swap incorrect, une fois que je l'ai changé pour correspondre à blkid il a fallu un long temps de démarrage d'environ 60 secondes à seulement 5 secondes
Brandon Søren Culley
2
Consultez la page askubuntu.com/questions/38533/… pour plus d'informations sur la procédure à suivre. Cela a réduit mon temps de démarrage de plus de 100 secondes à 15.
Dmitry
oui, passer à 17h10 mais mon échange d'uuid correspond au résultat de "blkid"
Vasil Valchev
10

J'ai rencontré un problème similaire de temps de démarrage plus long après la mise à niveau.

Quel était le problème? J'avais supprimé mon espace d'échange; mon fichier / etc / fstab et mon nouveau système de fichiers étaient donc en conflit. Le chargeur de démarrage a attendu près de 1m 30s pour le trouver.

Comment j'ai résolu le problème Run sudo blkid

Ouvrez votre fichier / etc / fstab et comparez la correspondance de uuid avec les partitions que vous avez. S'il y a incompatibilité, changez-le et redémarrez.

Gokul Palwe
la source
Le dmesgrésultat de la question montre que OP a un problème différent.
Byte Commander
9

C'est une solution de contournement, mais cela a considérablement réduit mon temps de démarrage (de 1 min 24 à 16 s).

sudo vim /etc/systemd/system.conf

Décommentez ces deux paramètres et définissez le délai d'expiration souhaité:

DefaultTimeoutStartSec=10s
DefaultTimeoutStopSec=10s

Remarque: optimisez ces valeurs pour répondre aux besoins de votre matériel ~ 5 - 60s.

Comme nous l' avons ici ces paramètres configurent les délais d' attente par défaut pour le démarrage et l' arrêt des unités, ainsi que le temps par défaut pour dormir entre le redémarrage automatique d'unités, selon la configuration des unités en TimeoutStartSec=, TimeoutStopSec=et RestartSec=(pour les services, voir systemd.service (5) détails sur les réglages par unité).

Pour les unités hors service, DefaultTimeoutStartSec=définit la valeur par défaut TimeoutSec= value. DefaultTimeoutStartSec=et DefaultTimeoutStopSec=par défaut à 90s. DefaultRestartSec=La valeur par défaut est 100ms.


Edit - Plus en détail:

J'ai analysé la séquence de démarrage avec systemd-analyze plot > sequence.svgcelle qui montrait que les services ne démarraient pas sur mon système d'exploitation fraîchement mis à niveau. Il y en avait trois - l'un était un démon sendmail mal configuré, puis powerd.service & NetworkManager-wait-online.service . Comme ce n'est pas une bonne idée de désactiver complètement le service NetworkManager, je le laisse simplement expirer au bout de 10 secondes et appliquer cette règle globalement.

Mirek
la source
2
Pourriez-vous préciser comment cette solution a réduit votre temps de démarrage de 68 secondes?
Geek Elder
Pas de problème, profitez-en!
Mirek
cela ne fonctionne pas pour moi car après l'application des modifications, mon temps de démarrage est passé de 52 à 57 secondes.
Woeitg
1
10s est trop bas. Il peut faire démarrer en mode de récupération. J'utilise 30s
Anwar
10s ont cassé mon démarrage en 18.04. Nous réparons maintenant Ubuntu en mode de récupération.
Pasupathi
1

Cela pourrait être lié à des problèmes de système de fichiers. Vous pouvez vérifier ce lien pour voir si la réparation de votre système de fichiers améliore le temps de démarrage: https://help.ubuntu.com/community/FilesystemTroubleshooting

Chris J Arges
la source
Hmm. semble maintenant être [plus long!] ( pastebin.com/a5g4wHvA ) On dirait que ça va mal après environ 30 secondes. "eth0: le lien n'est pas prêt" "nf_conntrack: l'assignation automatique des assistants est obsolète et elle sera bientôt supprimée. Utilisez la cible CT iptables pour attacher des assistants à la place"
Packwood le
0

J'ai eu un problème similaire que je viens de résoudre: je lance Ubuntu 16.04 sur un SSD. J'utilise un lecteur flash comme partition d'échange. Le lecteur avait accidentellement été légèrement déplacé et il a fallu plus de 3 minutes pour démarrer. Je l'ai remis correctement et maintenant tout va bien. Si vous avez essayé smartctl ou fsck et que votre système de fichiers fonctionne correctement, essayez de retirer les clés USB (ou d’autres périphériques?) Et voyez comment cela se passe. Bonne chance!

joham34
la source
0

En fonction de votre sortie pastebin, deux choses me sautent aux yeux:

EXT4-fs (sda5): re-mounted

Vous pouvez fsck ce volume et jeter un oeil à Smart Data pour ce lecteur.

et

[   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

Vous pouvez essayer de désactiver IPV6 sur vos connexions réseau si votre connexion ne le prend pas en charge.

Elder Geek
la source
0

Après l'allusion de user536489:

Systemd-analyse blâme

Vérifiez s'il existe un service dont le démarrage est long et définissez un délai d'expiration inférieur:

sudo vim /lib/systemd/system/networking.service

Changer TimeoutStartSecà quelque chose comme 10s. La page man états prend une valeur unitaire-moins en quelques secondes, ou une valeur de laps de temps comme « 20s » 5min. Passez "infinity" pour désactiver la logique de délai d'attente.

max
la source