web-dev-qa-db-fra.com

Problème de démarrage lent dû à plymouth-quit-wait.service + ubuntu 18.04

Il s'agit d'une machine fraîchement installée fonctionnant en double démarrage sur Win 10. Pour chaque redémarrage, la machine se bloque pendant 15 secondes car le service plymouth n'a pas pu démarrer, pour certaines raisons.

ENv: -

    Manufacturer: Dell Inc.
    Product Name: Precision 5820 Tower
    Ubuntu 18.04 
    4.15.0-29-generic 
    vendor   : NVIDIA Corporation
    model    : GP104GL [Quadro P4000]

Ci-dessous, l'extrait de sortie de systemd-analyse

Sudo systemd-analyze blame
     14.405s plymouth-quit-wait.service
      8.843s dev-sdb4.device
      8.049s NetworkManager-wait-online.service
      5.305s bolt.service
      4.889s snapd.service
      4.243s udisks2.service
      4.092s grub-common.service
      3.806s networking.service
      3.780s ModemManager.service
      3.325s dev-loop10.device
      3.295s apparmor.service
      3.190s dev-loop13.device
      3.162s accounts-daemon.service

Voici les quelques extraits de journaux de démarrage

Feb 18 11:37:42  polkitd[876]: started daemon version 0.105 using 
authority implementation `local' version `0.105'
Feb 18 11:37:42  dbus-daemon[820]: [system] Successfully activated service 'org.freedesktop.PolicyKit1'
Feb 18 11:37:42 systemd[1]: Started Authorization Manager.
Feb 18 11:37:42  accounts-daemon[801]: started daemon version 0.6.45
Feb 18 11:37:42  systemd[1]: Started Accounts Service.
Feb 18 11:37:42  systemd[1]: Received SIGRTMIN+20 from PID 394 (plymouthd).

Voici le retard

 Feb 18 11:37:57  nvidia-persistenced: The daemon no longer has 
 permission to remove its runtime data directory /var/run/nvidia- 
 persistenced
 Feb 18 11:37:57  nvidia-persistenced: Shutdown (1206)
 Feb 18 11:37:57  systemd[1]: Stopped NVIDIA Persistence Daemon.
 Feb 18 11:37:58  gdm3: Child process -1088 was already dead.
 Feb 18 11:37:58  systemd[1]: Stopping User Manager for UID 121...
 Feb 18 11:37:58 systemd[1]: Received SIGRTMIN+21 from PID 394 (plymouthd)

Sudo systemctl status plymouth-quit-wait.service
● plymouth-quit-wait.service - Hold until boot process finishes up
 Loaded: loaded (/lib/systemd/system/plymouth-quit-wait.service; static; vendor preset: enabled)
 Active: inactive (dead) since Mon 2019-02-18 11:37:58 +04; 7min ago
Main PID: 943 (code=exited, status=0/SUCCESS)

Feb 18 11:37:43  systemd[1]: Starting Hold until boot 
process finishes up...
Feb 18 11:37:58  systemd[1]: Started Hold until boot 
process finishes up.

Pilote graphique installé la dernière version - 415 du référentiel ppa

ii  nvidia-compute-utils-415                   415.27-0ubuntu0~gpu18.04.2          AMD64        NVIDIA compute utilities
ii  nvidia-dkms-415                            415.27-0ubuntu0~gpu18.04.2          AMD64        NVIDIA DKMS package
ii  nvidia-driver-415                          415.27-0ubuntu0~gpu18.04.2          AMD64        NVIDIA driver metapackage
ii  nvidia-kernel-common-415                   415.27-0ubuntu0~gpu18.04.2          AMD64        Shared files used with the kernel module
ii  nvidia-kernel-source-415                   415.27-0ubuntu0~gpu18.04.2          AMD64        NVIDIA kernel source package
ii  nvidia-prime                               0.8.8.2                             all          Tools to enable NVIDIA's Prime
ii  nvidia-settings                            415.27-0ubuntu0~gpu18.04.1          AMD64        Tool for configuring the NVIDIA graphics driver
ii  nvidia-utils-415                           415.27-0ubuntu0~gpu18.04.2          AMD64        NVIDIA driver support binaries
ii  xserver-xorg-video-nvidia-415              415.27-0ubuntu0~gpu18.04.2          AMD64        NVIDIA binary Xorg driver

Pouvez-vous me faire savoir pourquoi il y a un retard en raison du service d'abandon de plymount? Veuillez me faire savoir s'il existe d'autres informations dont vous auriez besoin pour le dépannage?

Est-ce lié à un problème de pilote matériel/logiciel/grahics?

Merci

8
user183980

Plymouth ne ralentit pas votre processus de démarrage! Plymouth est responsable de l'écran de démarrage. Veuillez lire Plymouth .

Il charge le logo de démarrage au début du processus de démarrage puis attend jusqu'à la fin du processus de démarrage pour décharger le splash écran. C'est tout qu'il fait et c'est pourquoi il doit fonctionner en parallèle et coexister dans l'ensemble processus de démarrage. Cela ne retarde rien, il attend juste .

C'est exactement ce qui se passe. Ni plus ni moins . Veuillez regarder la sortie que vous avez ajoutée à votre question et lire attentivement ce qui suit:

● plymouth-quit-wait.service - Maintenez jusqu'à ce que le processus de démarrage se termine


Comment vérifier?

Vous pouvez vérifier que plymouth-quit-wait.service ne retient rien d'autre que l'écran de connexion graphique, en exécutant la commande:

systemctl list-dependencies --reverse plymouth-quit-wait.service

qui affichera tous les services qui dépendent de plymouth-quit-wait.service (c'est-à-dire les services retardés de plymouth-quit-wait.service). Sur un système Ubuntu fraîchement installé, la sortie sera la suivante:

plymouth-quit-wait.service
● └─multi-user.target
●   └─graphical.target

Ce qui signifie que seul l'écran de connexion graphique est configuré pour attendre le plymouth-quit-wait.service et rien d'autre .

En revanche, si vous répertoriez les services qui plymouth-quit-wait.service est configuré pour attendre en exécutant la commande:

systemctl list-dependencies plymouth-quit-wait.service

la sortie serait presque tous les services qui devraient s'exécuter au démarrage et la sortie ressemblerait à ceci:

plymouth-quit-wait.service
● ├─system.slice
● └─sysinit.target
●   ├─apparmor.service
●   ├─dev-hugepages.mount
●   ├─dev-mqueue.mount
●   ├─grub-initrd-fallback.service
●   ├─keyboard-setup.service
●   ├─kmod-static-nodes.service
●   ├─plymouth-read-write.service
●   ├─plymouth-start.service
●   ├─proc-sys-fs-binfmt_misc.automount
●   ├─setvtrgb.service
●   ├─sys-fs-Fuse-connections.mount
●   ├─sys-kernel-config.mount
●   ├─sys-kernel-debug.mount
●   ├─systemd-ask-password-console.path
●   ├─systemd-binfmt.service
●   ├─systemd-hwdb-update.service
●   ├─systemd-journal-flush.service
●   ├─systemd-journald.service
●   ├─systemd-machine-id-commit.service
●   ├─systemd-modules-load.service
●   ├─systemd-random-seed.service
●   ├─systemd-sysctl.service
●   ├─systemd-sysusers.service
●   ├─systemd-timesyncd.service
●   ├─systemd-tmpfiles-setup-dev.service
●   ├─systemd-tmpfiles-setup.service
●   ├─systemd-udev-trigger.service
●   ├─systemd-udevd.service
●   ├─systemd-update-utmp.service
●   ├─cryptsetup.target
●   ├─local-fs.target
●   │ ├─-.mount
●   │ ├─systemd-fsck-root.service
●   │ └─systemd-remount-fs.service
●   └─swap.target
●     └─swapfile.swap

Cela confirme que plymouth-quit-wait.service ne ralentit rien, mais s'exécute en parallèle en attendant que le système démarre complètement, puis il masquera l'écran de démarrage pour faire apparaître l'écran de connexion graphique.


Pour mieux comprendre.

Veuillez exécuter la commande suivante dans le terminal:

systemd-analyze plot > ~/SystemdAnalyzePlot.svg

Ensuite, recherchez SystemdAnalyzePlot.svg dans votre répertoire personnel et exécutez-le dans le visualiseur d'images ou le navigateur Internet. Vous devrez peut-être agrandir l'image pour pouvoir lire les noms des processus. Cela vaut la peine d'être vérifié et vous permettra de mieux comprendre le fonctionnement du processus de démarrage.


Vous pouvez cependant réduire votre temps de démarrage en désactivant NetworkManager-wait-online.service so plymouth a un processus de moins à attendre. Cela peut en effet réduire votre temps de démarrage. Pour ce faire, veuillez suivre les étapes de cette réponse .


Oh ... et s'il vous plait, laissez plymouth tranquille, ce n'est pas celui qui vous fait attendre ... c'est celui qui vous attend.

13
Raffa

Je ne peux pas dire quoi d'autre est nécessaire, mais je peux peut-être vous donner une solution de contournement, afin que la machine démarre plus rapidement.

Pour moi, la solution la plus efficace était de désactiver le plymouth dans grub avec

Sudo nano /etc/default/grub

et changez la ligne GRUB_CMDLINE_LINUX_DEFAULT en

GRUB_CMDLINE_LINUX_DEFAULT="noplymouth video=SVIDEO-1:d"

Après avoir enregistré la modification, vous devez mettre à jour le grub avec

Sudo update-grub

puis redémarrez la machine.

2
Mr.Michael.Schulze

Vous pouvez désactiver ce service en exécutant la commande:

Sudo systemctl disable plymouth-quit-wait.service

De la description du service:

Maintenez jusqu'à ce que le processus de démarrage se termine

0
Michal Przybylowicz