🔧 Engineering/📁 Troubleshooting

서버 부팅이 느릴 때 확인하는 방법 (systemd-analyze)

만두개 2026. 3. 16. 10:19
반응형
SMALL

서버를 재부팅했을 때 부팅 시간이 오래 걸리는 경우가 있다.
이럴 때 systemd 기반 Linux에서는 systemd-analyze 명령어로 부팅 시간을 확인할 수 있다.

이번에 서버 부팅 과정을 정리하면서 같이 확인해봤다.


1. 전체 부팅 시간 확인

먼저 전체 부팅 시간이 얼마나 걸렸는지 확인한다.

systemd-analyze
 

출력 예)

Startup finished in 2.312s (kernel) + 5.431s (userspace) = 7.743s
 

출력 의미 :

항목 설명
kernel Kernel 로딩 시간
userspace systemd 서비스 실행 시간
total 전체 부팅 시간

즉 위 예시는 총 7.7초 정도 부팅에 걸렸다는 의미이다.


2. 어떤 서비스 때문에 부팅이 느린지 확인

부팅이 느린 경우 어떤 서비스가 시간을 많이 사용하는지 확인할 수 있다.

systemd-analyze blame
 

출력 예

4.532s networkd-wait-online.service
2.120s docker.service
1.301s snapd.service
 

이 출력은 부팅 시 오래 걸린 서비스 순서를 보여준다.

예를 들어

  • network 서비스
  • docker
  • snap

같은 서비스가 부팅 시간을 지연시킬 수 있다.


3. 서비스 의존성 확인

부팅 과정에서 서비스 간 의존성을 확인할 수도 있다.

systemd-analyze critical-chain
 

출력 예

multi-user.target
└─docker.service
└─network.target
 

이 명령어는 부팅 과정에서 어떤 서비스가 어떤 순서로 실행되는지 보여준다.


4. 부팅 과정 그래프 확인

부팅 과정을 그래프로 확인할 수도 있다.

systemd-analyze plot > boot.svg
 

이 명령어를 실행하면 부팅 과정 타임라인 그래프가 생성된다.

브라우저로 확인하면 다음과 같은 형태로 표시된다.

Kernel
├ service A
├ service B
└ service C
 

이 그래프를 통해 어떤 서비스가 부팅 시간을 지연시키는지 쉽게 확인할 수 있다.


정리

서버 부팅이 느린 경우 다음 명령어로 확인할 수 있다.

 

명령어 설명
systemd-analyze 전체 부팅 시간 확인
systemd-analyze blame 오래 걸린 서비스 확인
systemd-analyze critical-chain 서비스 의존성 확인
systemd-analyze plot 부팅 타임라인 확인

부팅 과정에서 시간이 오래 걸리는 서비스를 확인하면 불필요한 서비스를 비활성화하거나 설정을 수정하여 부팅 시간을 개선할 수 있다.

 

반응형
LIST