[Linux][systemd] systemd 시작 시간의 병목 현상 분석(systemd-analyze 사용법)

3339 단어 systemd리눅스

TL;DR



systemd-analyze로 시작시 병목 현상을 분석하는 방법 참고

실행 방법



VirtualBox의 Ubuntu 16.04에서 확인했습니다.

systemd-analyze : kernel과 userspace 각각의 시작 시간 표시


$ systemd-analyze
Startup finished in 4.604s (kernel) + 4min 19.644s (userspace) = 4min 24.249s

systemd-analyze blame : 시간이 소요되는 순서대로 서비스 시작 시간을 표시합니다.


$ systemd-analyze blame | head
    4min 12.385s apt-daily.service
         15.536s docker.service
          7.015s ModemManager.service
          4.008s apparmor.service
          3.843s networking.service
          3.618s NetworkManager.service
          3.391s dev-sda1.device
          2.811s thermald.service
          2.743s vboxadd.service
          2.693s avahi-daemon.service

systemd-analyze critical-chain : 시간이 걸리는 호출 체인 표시


$ 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 @29.149s
└─multi-user.target @29.149s
  └─docker.service @13.612s +15.536s
    └─network.target @13.602s
      └─NetworkManager.service @9.984s +3.618s
        └─dbus.service @7.349s
          └─basic.target @7.258s
            └─sockets.target @7.258s
              └─snapd.socket @7.170s +67ms
                └─sysinit.target @7.168s
                  └─apparmor.service @3.133s +4.008s
                    └─local-fs.target @3.132s
                      └─run-user-1000-gvfs.mount @54.632s
                        └─run-user-1000.mount @49.219s
                          └─local-fs-pre.target @3.132s
                            └─systemd-remount-fs.service @3.080s +37ms
                              └─system.slice @1.713s
                                └─-.slice @1.693s

systemd-analyze plot > plot.svg : 시작 시간 차트 플롯


$ systemd-analyze plot > plot.svg



참고



부팅이 느린 원인은? 그럴 때 systemd-analyze에서 확인 | Simple blog @atani
부팅 성능 향상 - ArchWiki
Improving performance/Boot process - ArchWiki

좋은 웹페이지 즐겨찾기