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 のスペックは以下。
systemd-analyze というツールを使うと、どこらへんで、どの程度の起動時間がかかってるのか分かるらしいと知ったので、一応調べてみた。
ちなみに、LIFEBOOk AH33/J のスペックは以下。
- CPU : Intel Celeron B820 (2C2T, 1.7GHz, SandyBridge)
- RAM : 6GB (2GB + 4GB, Samsung M471B5773CHS-CK0 (2GB, DDR3-1600/PC3-12800, S.O.DIMM) + Corsair CMS04GX3M1A1333C9 LI (4GB, DDR3-1333/PC3-10600, S.O.DIMM), シングルチャネル動作)
- HDD : SEAGATE ST320LT020-9YG142 (320GB, 5400rpm, Cache 16MB, Serial ATA300)
- 光学ドライブ : DVD±R DL対応スーパーマルチドライブ
- 無線LAN : IEEE 802.11b/g/n
- Bluetooth : Bluetooth v4.0+HS
systemd-analyze というツールを使うと、どこらへんで、どの程度の起動時間がかかってるのか分かるらしいと知ったので、一応調べてみた。
◎ systemd-analyze で起動時間を確認。 :
参考ページは以下。
_起動が遅い原因は?そんな時はsystemd-analyzeでチェック | Simple blog @atani
_第18章 起動時間を短縮するための systemd の最適化 Red Hat Enterprise Linux 8 | Red Hat Customer Portal
systemd-analyze と打つと、起動時間の全体を表示してくれる。
userspace とやらで 2分3秒かかってる…。
systemd-analyze blame と打つと、それぞれのサービスの起動時間を表示してくる、のかな。たぶん。そのままだと大量に表示されるので、head -n 30 を通して、30行分だけ表示してみた。
読み方が分からないけれど…。もしかして snapd.service で1分以上かかってるのだろうか? よくわからんけど。
systemd-analyze critical-chain と打つと、クリティカルな部分をツリー表示してくれる。らしい。
赤い色がついてるサービスが起動時間がかかってる、と思っておけばいいのだろうか。わからんけど。やっぱり、snapd 関係でかかってるように見えるなあ…。本当にそうなのかわからんけど。
Ubuntu Linux 22.04 は、色々なアプリを snap版で提供するようになったと聞いているので、そのせいで起動が遅くなるのは、もう仕方ないのだろうか…?
_起動が遅い原因は?そんな時は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
赤い色がついてるサービスが起動時間がかかってる、と思っておけばいいのだろうか。わからんけど。やっぱり、snapd 関係でかかってるように見えるなあ…。本当にそうなのかわからんけど。
Ubuntu Linux 22.04 は、色々なアプリを snap版で提供するようになったと聞いているので、そのせいで起動が遅くなるのは、もう仕方ないのだろうか…?
◎ 不要なサービスを停止してみた。 :
印刷関係の cups や、モデム関係の ModemManager は停止してみてもいいような気がする。試しに停止してみる。
まず、有効になっているサービスの一覧を表示して確認。
おそらく、以下は止められそうだろうか…?
サービスを停止してから、次回起動時に立ち上がらないようにしてみる。
sudo reboot と打って再起動。
起動時間を調べてみる。
userspace が、2分3秒から1分23秒ぐらいになったように見える。
ただ、ストップウォッチで時間を測ってみたところ、やっぱり起動時間はほとんど変わらないような…。lightdm の画面が出てくるまで、2分以上かかってるのだよなあ…。
まず、有効になっているサービスの一覧を表示して確認。
$ 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分以上かかってるのだよなあ…。
[ ツッコむ ]
以上、1 日分です。