systemd-analyze — 부팅·서비스 분석
Linux / 서비스 및 프로세스 관리 / systemd-analyze.html
💬 "systemd-analyze 명령어"
systemd-analyze는 부팅·서비스 분석 systemd 부팅 시간과 서비스 시작 순서·의존성을 분석·시각화합니다.
부팅 소요 시간을 측정합니다 (firmware→userspace). 서비스별 시작 소요 시간 순위(blame)를 제공합니다.
- 개념: 부팅 소요 시간을 측정합니다 (firmware→userspace).
- 주요 기능: 서비스별 시작 소요 시간 순위(blame)를 제공합니다.
- 장점: 의존성 그래프를 SVG로 시각화합니다.
- 활용: critical-chain으로 병목을 추적합니다.
설치 및 다운로드
systemd-analyze는 패키지 매니저 또는 공식 스크립트로 설치합니다.
| 환경 | 명령 |
|---|---|
| systemd 내장 | systemd-analyze |
| 부팅 시간 확인 | systemd-analyze |
| 서비스 순위 | systemd-analyze blame |
| 그래프 출력 | systemd-analyze plot > boot.svg |
| 확인 | systemd-analyze --version |
설치 확인은 systemd-analyze --version으로 합니다.
자주 쓰는 옵션
| 옵션 | 설명 |
|---|---|
systemd-analyze | 전체 부팅 시간 |
systemd-analyze blame | 서비스별 소요 시간 순위 |
systemd-analyze critical-chain | 의존성 병목 체인 |
systemd-analyze plot > boot.svg | 부팅 시각화 SVG |
systemd-analyze time | kernel→init→userspace 분해 |
필수 명령어 조합 3가지
systemd-analyze critical-chain— 가장 느린 의존성 체인 추적systemd-analyze blame | head -10— 상위 10개 느린 서비스systemd-analyze plot > boot.svg— 전체 시각화
💬 "실제 서버에서 systemd-analyze를 사용하는 예시를 보여줘"
실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.
1단계 · 부팅 시간 확인
전체 부팅 시간을 확인합니다.
systemd-analyze
2단계 · 느린 서비스
상위 5개 느린 서비스를 확인합니다.
systemd-analyze blame | head -5
3단계 · 병목 추적
의존성 병목을 추적합니다.
systemd-analyze critical-chain
실제 실행 화면
systemd-analyze로 부팅 시간과 blame을 확인한 결과입니다.

실제 운영 중인 서버
실무에서는 이렇게 씁니다
1. 부팅 병목 추적
상황 — 부팅이 느린 원인을 찾습니다.
systemd-analyze critical-chain
결과 — NetworkManager-wait-online이 1.4초를 소비하는 것이 보입니다.
포인트 — 의존성 체인을 따라가면 병목 서비스가 나옵니다.
2. 서비스 순위 확인
상황 — 가장 느린 서비스를 확인합니다.
systemd-analyze blame | head -5
결과 — nginx, postgresql, docker 순으로 느립니다.
포인트 — blame 시간은 서비스 실행 시간만 측정합니다.
실제 실행 화면
systemd-analyze critical-chain으로 병목을 추적한 결과입니다.

실제 운영 중인 서버
주의할 점
- plot 명령은 SVG를 생성합니다. 서버에서는 scp로 내려받아 봅니다.
- blame 시간은 서비스 실행 시간만 측정합니다. 의존성 대기 시간은 critical-chain에서 봅니다.
- 부팅 시간은 하드웨어·인스턴스 유형에 따라 달라집니다. 같은 인스턴스에서 비교합니다.