mieki256's diary



2023/01/20(金) [n年前の日記]

#1 [ubuntu][linux] Ubuntu 22.04 LTSの起動時間を調べてみた

FUJITSU LIFEBOOK AH33/J に Ubuntu Linux 22.04 LTS をインストールしたものの、起動時間が遅い。とにかく遅い。lightdm の画面(ログイン画面)が出てくるまで2〜3分かかる。

ちなみに、LIFEBOOk AH33/J のスペックは以下。 Celeron B820 + HDD なので、「そりゃ遅いだろ」と言われそうなスペックのような気もするけど…。これより非力なはずの Gateway M-2408j (Athlon64 X2 QL-60 + HDD, Linux Mnt 21.1) が、1分ちょっとで起動してるので妙だなと…。

systemd-analyze というツールを使うと、どこらへんで、どの程度の起動時間がかかってるのか分かるらしいと知ったので、一応調べてみた。

systemd-analyze で起動時間を確認。 :

参考ページは以下。

_起動が遅い原因は?そんな時はsystemd-analyzeでチェック | Simple blog @atani
_第18章 起動時間を短縮するための systemd の最適化 Red Hat Enterprise Linux 8 | Red Hat Customer Portal

systemd-analyze と打つと、起動時間の全体を表示してくれる。

$ systemd-analyze
Startup finished in 6.186s (firmware) + 10.651s (loader) + 6.384s (kernel) + 2min 3.139s (userspace) = 2min 26.363s
graphical.target reached after 2min 3.104s in userspace

userspace とやらで 2分3秒かかってる…。


systemd-analyze blame と打つと、それぞれのサービスの起動時間を表示してくる、のかな。たぶん。そのままだと大量に表示されるので、head -n 30 を通して、30行分だけ表示してみた。

$ systemd-analyze blame | head -n 30
1min 11.597s snapd.service
     43.509s logrotate.service
     39.274s nmbd.service
     37.749s udisks2.service
     36.868s accounts-daemon.service
     35.397s ModemManager.service
     32.522s networkd-dispatcher.service
     29.450s dev-sda9.device
     28.526s systemd-journal-flush.service
     24.479s dev-loop11.device
     24.415s dev-loop8.device
     24.067s dev-loop5.device
     24.001s dev-loop6.device
     23.910s dev-loop12.device
     23.884s dev-loop14.device
     23.719s dev-loop9.device
     23.675s dev-loop7.device
     23.631s dev-loop4.device
     23.515s dev-loop0.device
     23.485s dev-loop10.device
     22.906s dev-loop2.device
     22.713s dev-loop3.device
     22.079s dev-loop13.device
     19.213s cups.service
     17.531s NetworkManager-wait-online.service
     16.737s power-profiles-daemon.service
     15.454s polkit.service
     11.887s avahi-daemon.service
     11.872s NetworkManager.service
     11.421s switcheroo-control.service

読み方が分からないけれど…。もしかして snapd.service で1分以上かかってるのだろうか? よくわからんけど。


systemd-analyze critical-chain と打つと、クリティカルな部分をツリー表示してくれる。らしい。

$ systemd-analyze critical-chain
The time when unit became active or started is printed after the "@" character.
The time the unit took to start is printed after the "+" character.

graphical.target @2min 3.104s
└─multi-user.target @2min 3.104s
  └─snapd.seeded.service @1min 58.219s +4.883s
    └─snapd.service @46.620s +1min 11.597s
      └─basic.target @46.104s
        └─sockets.target @46.102s
          └─cups.socket @54.692s
            └─sysinit.target @45.913s
              └─snapd.apparmor.service @42.597s +3.313s
                └─apparmor.service @40.313s +2.281s
                  └─local-fs.target @40.310s
                    └─boot-efi.mount @39.902s +407ms
                      └─systemd-fsck@dev-disk-by\x2duuid-F010\x2dBCC7.service @37.014s +2.805s
                        └─dev-disk-by\x2duuid-F010\x2dBCC7.device @37.012s

lifebook_ubuntu2204_ss01.png

赤い色がついてるサービスが起動時間がかかってる、と思っておけばいいのだろうか。わからんけど。やっぱり、snapd 関係でかかってるように見えるなあ…。本当にそうなのかわからんけど。

Ubuntu Linux 22.04 は、色々なアプリを snap版で提供するようになったと聞いているので、そのせいで起動が遅くなるのは、もう仕方ないのだろうか…?

不要なサービスを停止してみた。 :

印刷関係の cups や、モデム関係の ModemManager は停止してみてもいいような気がする。試しに停止してみる。

まず、有効になっているサービスの一覧を表示して確認。

$ systemctl list-unit-files -t service | grep enabled
accounts-daemon.service                    enabled         enabled
acpid.service                              disabled        enabled
alsa-utils.service                         masked          enabled
anacron.service                            enabled         enabled
apparmor.service                           enabled         enabled
avahi-daemon.service                       enabled         enabled
blueman-mechanism.service                  enabled         enabled
bluetooth.service                          enabled         enabled
brltty.service                             disabled        enabled
console-setup.service                      enabled         enabled
cron.service                               enabled         enabled
cryptdisks-early.service                   masked          enabled
cryptdisks.service                         masked          enabled
cups-browsed.service                       enabled         enabled
cups.service                               enabled         enabled
dmesg.service                              enabled         enabled
e2scrub_reap.service                       enabled         enabled
getty@.service                             enabled         enabled
gpu-manager.service                        enabled         enabled
grub-common.service                        enabled         enabled
grub-initrd-fallback.service               enabled         enabled
hwclock.service                            masked          enabled
irqbalance.service                         enabled         enabled
kerneloops.service                         enabled         enabled
keyboard-setup.service                     enabled         enabled
lightdm.service                            indirect        enabled
lm-sensors.service                         enabled         enabled
ModemManager.service                       enabled         enabled
netplan-ovs-cleanup.service                enabled-runtime enabled
networkd-dispatcher.service                enabled         enabled
NetworkManager-dispatcher.service          enabled         enabled
NetworkManager-wait-online.service         enabled         enabled
NetworkManager.service                     enabled         enabled
nftables.service                           disabled        enabled
nmbd.service                               enabled         enabled
openvpn-client@.service                    disabled        enabled
openvpn-server@.service                    disabled        enabled
openvpn.service                            enabled         enabled
openvpn@.service                           disabled        enabled
power-profiles-daemon.service              enabled         enabled
pulseaudio-enable-autospawn.service        masked          enabled
rc.service                                 masked          enabled
rcS.service                                masked          enabled
rsync.service                              disabled        enabled
rsyslog.service                            enabled         enabled
rtkit-daemon.service                       disabled        enabled
samba-ad-dc.service                        masked          enabled
saned.service                              masked          enabled
saned@.service                             indirect        enabled
secureboot-db.service                      enabled         enabled
serial-getty@.service                      disabled        enabled
setvtrgb.service                           enabled         enabled
smbd.service                               enabled         enabled
snap.cups.cups-browsed.service             enabled         enabled
snap.cups.cupsd.service                    enabled         enabled
snapd.aa-prompt-listener.service           enabled         enabled
snapd.apparmor.service                     enabled         enabled
snapd.autoimport.service                   enabled         enabled
snapd.core-fixup.service                   enabled         enabled
snapd.recovery-chooser-trigger.service     enabled         enabled
snapd.seeded.service                       enabled         enabled
snapd.service                              enabled         enabled
snapd.system-shutdown.service              enabled         enabled
speech-dispatcherd.service                 disabled        enabled
spice-vdagentd.service                     indirect        enabled
ssh.service                                enabled         enabled
sudo.service                               masked          enabled
switcheroo-control.service                 enabled         enabled
systemd-fsck-root.service                  enabled-runtime enabled
systemd-network-generator.service          disabled        enabled
systemd-networkd.service                   disabled        enabled
systemd-oomd.service                       enabled         enabled
systemd-pstore.service                     enabled         enabled
systemd-remount-fs.service                 enabled-runtime enabled
systemd-resolved.service                   enabled         enabled
systemd-sysext.service                     disabled        enabled
systemd-timesyncd.service                  enabled         enabled
thermald.service                           enabled         enabled
ua-reboot-cmds.service                     enabled         enabled
ubuntu-advantage.service                   enabled         enabled
udisks2.service                            enabled         enabled
ufw.service                                enabled         enabled
unattended-upgrades.service                enabled         enabled
upower.service                             disabled        enabled
uuidd.service                              indirect        enabled
wpa_supplicant-nl80211@.service            disabled        enabled
wpa_supplicant-wired@.service              disabled        enabled
wpa_supplicant.service                     enabled         enabled
wpa_supplicant@.service                    disabled        enabled
x11-common.service                         masked          enabled

おそらく、以下は止められそうだろうか…?

cups-browsed.service
cups.service
ModemManager.service
NetworkManager-wait-online.service

サービスを停止してから、次回起動時に立ち上がらないようにしてみる。

sudo systemctl stop cups.service
sudo systemctl stop cups-browsed.service
sudo systemctl stop ModemManager.service
sudo systemctl stop NetworkManager-wait-online.service

sudo systemctl disable cups.service
sudo systemctl disable cups-browsed.service
sudo systemctl disable ModemManager.service
sudo systemctl disable NetworkManager-wait-online.service

sudo reboot と打って再起動。

起動時間を調べてみる。

$ systemd-analyze
Startup finished in 5.375s (firmware) + 4.000s (loader) + 6.697s (kernel) + 1min 23.163s (userspace) = 1min 39.236s
graphical.target reached after 1min 23.124s in userspace

userspace が、2分3秒から1分23秒ぐらいになったように見える。

ただ、ストップウォッチで時間を測ってみたところ、やっぱり起動時間はほとんど変わらないような…。lightdm の画面が出てくるまで、2分以上かかってるのだよなあ…。

以上です。

過去ログ表示

Prev - 2023/01 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project