非常に遅い開始(6分)、 `systemd-udevd`タイムアウトを5秒に強制変更するには?

非常に遅い開始(6分)、 `systemd-udevd`タイムアウトを5秒に強制変更するには?

本質的に起こることは次のとおりです。

grubコマンドにこれをlinux追加してdebug --verbose得ました!

60秒待ってから:
systemd-udevd 'SomeDevicePartition' is taking a long time

120秒以上経過後:
systemd-udevd 'SomeDevicePartition' killed

+-:60秒、180秒、240秒、365秒で発生するので
合計6分です! ! !

udevd終了タイムアウトを10秒に下げて再試行しない可能性があるかどうか疑問に思います。 (grub エントリの一部の構成を使用)


より多くの情報が必要な場合は、質問全体の詳細はここにあります(上記は重要な部分にすぎません)。https://askubuntu.com/questions/1196874/18-04-grub-takes-about-6- Minutes-to-boot-problem-systemd-udevd-somedevice


この問題を解決するためのヒントを得ました。
udevadm --timeout=10

ただし、元に戻すにはLiveCD isoイメージを使用する必要があります。
udevadmその設定はどこに保存されますか?試してみましたcat ./udev/rules.d/* |grep timeout -iが、何も見つかりませんでした...

また、一般的なイベントでも動作するので、ボーナスとして次のようになります。パーティション検出を処理するために特定のタイムアウトを設定できますか?


grub cfg には次の内容があります。

linux /vmlinuz-4.15.0-72-generic \
  root=/dev/mapper/MyLvmGroupName ro \
  nosplash $vt_handoff debug --verbose

通知としてhttps://unix.stackexchange.com/a/559979/30352(ここ)、私は以下を試しました:

linux /vmlinuz-4.15.0-72-generic \
  root=/dev/mapper/MyLvmGroupName ro \
  rd.udev.event-timeout=10 \
  nosplash $vt_handoff debug --verbose

しかし、何らかの理由で無視されるようです。 :(まだ時間制限が長いので(同じ、何も変わっていません)


2019年10月12日からこの問題が発生しました。 //(最後にUbuntu18でフルアップデートを実行したとき)

ベストアンサー1

あなたのシステムはsystemdのudevを使用しているようです。

それでは、まずこのサービスマニュアルページ(systemd-udevd.service(8))を見てみましょう。

       The behavior of the daemon can be configured using udev.conf(5), its command line options,
       environment variables, and on the kernel command line, or changed dynamically with udevadm
       control.

そしてさらに進む:

KERNEL COMMAND LINE
       Parameters starting with "rd." will be read when systemd-udevd is used in an initrd.

       udev.log-priority=, rd.udev.log-priority=
           Set the log level.

       udev.children-max=, rd.udev.children-max=
           Limit the number of events executed in parallel.

       udev.exec-delay=, rd.udev.exec-delay=
           Delay the execution of RUN instructions by the given number of seconds. This option might
           be useful when debugging system crashes during coldplug caused by loading non-working
           kernel modules.

       udev.event-timeout=, rd.udev.event-timeout=
           Wait for events to finish up to the given number of seconds. This option might be useful
           if events are terminated due to kernel drivers taking too long to initialize.

       net.ifnames=
           Network interfaces are renamed to give them predictable names when possible. It is enabled
           by default; specifying 0 disables it.

udev.event-timeout=10したがって、カーネルコマンドラインに追加(問題がinitrdステップにある場合は同じプレフィックスを追加)してみることができます。rd.

おすすめ記事