遅いユーザースペースの開始時間を分類する方法は?

遅いユーザースペースの開始時間を分類する方法は?

私の経験は非常に遅いです。ユーザースペースロード時間に比べてコアロード時間は以下の通りですsystemd-analyze

jnavarro@almanzora:~$ systemd-analyze 
Startup finished in 14.134s (kernel) + 1min 30.675s (userspace) = 1min 44.809s 
graphical.target reached after 12.124s in userspace

私が尋ねたときにsystemd-analyze blame「良い候補者」を見ませんでした。

jnavarro@almanzora:~$ systemd-analyze blame
          7.387s NetworkManager-wait-online.service
          6.863s plymouth-quit-wait.service
          1.996s docker.service
          1.966s exim4.service
          1.895s systemd-cryptsetup@luks\foo\bar\zaz\.service
          1.256s fwupd.service
          1.061s upower.service
          1.008s alsa-restore.service
           978ms dev-mapper-almanzora\foo\bar\zaz.device
           756ms udisks2.service

起動時間が遅くなる原因はどこにありますか?systemdあなたはもはや私を助けることができないようです。

- 編集する -

systemd-analyze critical-chain出力:

jnavarro@almanzora:~$ systemd-analyze critical-chain
The time after the unit is active or started is printed after the "@" character.
The time the unit takes to start is printed after the "+" character.

graphical.target @12.124s
└─multi-user.target @12.124s
  └─docker.service @10.127s +1.996s
    └─network-online.target @10.125s
      └─NetworkManager-wait-online.service @2.737s +7.387s
        └─NetworkManager.service @2.416s +319ms
          └─dbus.service @2.413s
            └─basic.target @2.392s
              └─sockets.target @2.392s
                └─docker.socket @2.390s +1ms
                  └─sysinit.target @2.387s
                    └─sys-fs-fuse-connections.mount @22.662s +9ms
                      └─systemd-modules-load.service @548ms +95ms
                        └─systemd-journald.socket @531ms
                          └─-.mount @526ms
                            └─systemd-journald.socket @531ms
                              └─...

答え1

systemd-analyze blame遅延しているアプリケーション/サービスを識別できない場合は、systemd以外の要因が原因で遅延が発生している可能性があります。

  • これはデバイスによって発生する可能性があります。すべてのリムーバブルデバイス(USBなど)を取り外して再起動してみてください。ファームウェア/ドライバーによって遅延が発生する可能性があります。

  • 起動後(ctrl + alt + f2)tty2としてログインすると、デスクトップとそのアプリケーションがロードされないようにすることができます。その後、そこでpsを使用して実行中のアイテムと時間を確認できます。

ps -eo pid,lstart,cmd開始されたジョブは開始時刻/日付とともに一覧表示され、ps -aux各プロセスで使用されているCPU時間を確認できます。

  • また、障害のあるハードウェア(ハードドライブなど)によって遅延が発生する可能性があります。ライブ CD を使用して確認したり、他のバージョンのカーネルや他のディストリビューションを起動して影響を受けることを確認することもできます。

関連情報