개요
systemd-analyze는 시스템 부팅 과정의 병목 현상을 식별하고, 각 서비스가 부팅에 기여하는 시간을 측정하여 시스템 관리자가 성능 문제를 진단하고 해결하는 데 도움을 줍니다.
주요 기능
- 전체 부팅 시간 측정
- 개별 서비스 및 유닛의 시작 시간 분석
- 부팅에 가장 큰 영향을 미치는 '핵심 체인' 식별
- 부팅 과정 시각화 (SVG, DOT 그래프)
- systemd 유닛 파일 유효성 검사
주요 옵션
systemd-analyze 명령어와 함께 사용되는 주요 옵션들입니다.
부팅 시간 분석
시각화 및 디버깅
생성된 명령어:
명령어를 조합해 보세요.
설명:
`systemd-analyze` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
systemd-analyze 명령어의 다양한 활용 예시입니다.
전체 부팅 시간 확인
systemd-analyze
시스템의 전체 부팅 시간을 확인합니다.
서비스별 부팅 시간 확인
systemd-analyze blame
각 서비스가 부팅에 소요한 시간을 내림차순으로 정렬하여 표시합니다.
부팅 핵심 체인 분석
systemd-analyze critical-chain
부팅 완료에 가장 큰 영향을 미치는 유닛들의 의존성 체인을 확인합니다.
부팅 시간 시각화 (SVG)
systemd-analyze plot > boot.svg
부팅 과정을 SVG 형식의 그래프로 생성하여 'boot.svg' 파일로 저장합니다. 이 파일은 웹 브라우저에서 열어볼 수 있습니다.
유닛 파일 유효성 검사
systemd-analyze verify /etc/systemd/system/my-custom.service
지정된 systemd 유닛 파일의 구문 오류나 잘못된 설정을 검사합니다.
팁 & 주의사항
systemd-analyze 사용 시 유용한 팁과 주의할 점입니다.
Graphviz 설치
plot 또는 dot 옵션을 사용하여 시각화된 그래프를 생성하려면 Graphviz 패키지가 설치되어 있어야 합니다.
- Debian/Ubuntu: sudo apt install graphviz
- CentOS/RHEL: sudo yum install graphviz
blame 결과 해석
systemd-analyze blame의 결과는 각 유닛이 '시작하는 데 걸린 시간'을 보여주지만, systemd는 많은 서비스를 병렬로 시작하기 때문에 단순히 가장 긴 시간이 걸린 서비스가 부팅 지연의 원인이라고 단정할 수는 없습니다. critical-chain과 함께 분석하는 것이 더 정확합니다.
부팅 최적화
critical-chain으로 식별된 유닛들을 중심으로 불필요한 의존성을 제거하거나, 서비스 시작 유형(예: on-demand)을 변경하여 부팅 시간을 단축할 수 있습니다.