English

systemd-analyze — 부팅·서비스 분석

Linux / 서비스 및 프로세스 관리 / systemd-analyze.html

서비스 및 프로세스 관리원문등록 2026-10-18T22:00:00+09:00

💬 "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 timekernel→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을 확인한 결과입니다.

systemd-analyze 명령어 실행 결과

실제 운영 중인 서버

실무에서는 이렇게 씁니다

1. 부팅 병목 추적

상황 — 부팅이 느린 원인을 찾습니다.

systemd-analyze critical-chain

결과 — NetworkManager-wait-online이 1.4초를 소비하는 것이 보입니다.

포인트 — 의존성 체인을 따라가면 병목 서비스가 나옵니다.

2. 서비스 순위 확인

상황 — 가장 느린 서비스를 확인합니다.

systemd-analyze blame | head -5

결과 — nginx, postgresql, docker 순으로 느립니다.

포인트 — blame 시간은 서비스 실행 시간만 측정합니다.

실제 실행 화면

systemd-analyze critical-chain으로 병목을 추적한 결과입니다.

systemd-analyze 명령어 실행 결과 2

실제 운영 중인 서버

주의할 점

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