web-dev-qa-db-ja.com

plymouth-quit-wait.service + ubuntu 18.04による起動の問題

これは、Win 10でデュアルブートとして実行される、新しくインストールされたマシンです。何らかの理由により、プリマウスサービスを開始できないため、再起動するたびにマシンが15秒間ハングします。

ENv:-

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

以下は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

起動ログの一部を以下に示します

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).

こちらが遅延です

 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.

グラフィックスドライバーがインストールされている最新バージョン-ppaリポジトリから415

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

Plymount-quitサービスが原因で遅延が発生する理由を教えてください。トラブルシューティングに必要なその他の情報はありますか?

ハードウェア/ソフトウェア/ grahicsドライバーの問題に関連していますか?

ありがとう

8
user183980

プリマスは起動プロセスを遅くしていません!プリマスは起動スプラッシュスクリーンを担当します。 プリマス をお読みください。

起動プロセスの最初に起動ロゴをロードし、起動プロセスが完了するまで待機してスプラッシュをアンロードします画面。それはallであり、それが並列で実行され、whole起動プロセス。それは何も遅らせず、ただ待つだけです。

それがまさに起こっていることです。 これ以上でもそれ以下でもないあなたの質問 に追加した出力を見て、以下を注意深く読んでください:

●plymouth-quit-wait.service-ブートプロセスが完了するまで保留します


確認方法は?

次のコマンドを実行することで、plymouth-quit-wait.serviceがグラフィカルログイン画面以外の何も妨げていないことを確認できます。

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

plymouth-quit-wait.serviceに依存するすべてのサービス(つまり、plymouth-quit-wait.serviceによって遅延されるサービス)を出力します。新しくインストールしたUbuntuシステムでは、出力は次のようになります。

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

つまり、グラフィカルログイン画面のみがplymouth-quit-wait.serviceを待機するように構成され、それ以外は何もない

一方、plymouth-quit-wait.serviceが次のコマンドを実行して待機するように構成されているサービスを一覧表示した場合:

systemctl list-dependencies plymouth-quit-wait.service

出力は、起動時に実行されるほぼすべてのサービスであり、出力は次のようになります。

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

これは、plymouth-quit-wait.serviceが何かを遅くするのではなく、システムが完全に起動するのを待って並行して実行していることを確認します。その後、起動スプラッシュ画面を非表示にして、グラフィカルログイン画面を表示します。


さらに理解するために。

ターミナルで次のコマンドを実行してください:

systemd-analyze plot > ~/SystemdAnalyzePlot.svg

次に、ホームディレクトリでSystemdAnalyzePlot.svgを探し、画像ビューアまたはインターネットブラウザで実行します。プロセス名を読み取れるように、画像を拡大する必要がある場合があります。これはチェックする価値があり、起動プロセスがどのように機能するかについて理解を深めることができます。


ただし、NetworkManager-wait-online.serviceを無効にすることで起動時間を短縮できますplymouth待機するプロセスが1つ少なくなります。これは確かに起動時間を短縮できます。これを行うには、 この答え の手順に従ってください。


ああ...そして、プリマスを一人にしておいてください、それはあなたを待つものではありません...それはあなたを待つものです。

13
Raffa

他に必要なことは言えませんが、マシンがより速く起動するように、回避策を提供できます。

私にとって最も効果的な解決策は、

Sudo nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULTという行を次のように変更します

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

変更を保存した後、GRUBを更新する必要があります

Sudo update-grub

マシンを再起動します。

2

次のコマンドを実行して、このサービスを無効にできます。

Sudo systemctl disable plymouth-quit-wait.service

サービスの説明から:

起動プロセスが完了するまで押し続けます

0