sar — 과거 자원 사용 이력

Linux / 장애 진단 및 복구 / sar.html

장애 진단 및 복구원문등록 2026-10-18

💬 "sar 명령어"

sar는 과거 자원 사용 이력을 보여줍니다. 장애가 언제 시작됐는지 사후 분석에 강합니다.

sysstat이 수집 중이어야 하며, 필요한 날짜/시간을 지정해 봅니다.

  • 수집: 10분 간격 등으로 자동 수집됩니다.
  • -u: CPU 이력입니다.
  • -r: 메모리 이력입니다.
  • -n DEV: 네트워크 인터페이스 이력입니다.

자주 쓰는 옵션

옵션설명
-u -f <파일>특정 날짜 파일에서 CPU 이력 조회
-s <시각> -e <시각>시간 범위를 지정
-r메모리 사용 이력
-n DEV네트워크 이력

필수 명령어 조합 3가지

  • sar -u -s 02:00 -e 02:30 — 장애 시간대 CPU 이력 조회
  • sar -r -f /var/log/sysstat/sa18 — 특정 날짜 메모리 이력
  • sar -n DEV 1 3 — 네트워크 인터페이스 사용량

💬 "장애 보고서 작성에 도움되는 예시 부탁해"

실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.

1단계 · 수집 여부 확인

sysstat 수집이 켜져 있는지 봅니다.

systemctl status sysstat --no-pager | head -3

2단계 · 장애 시간대 조회

문제 시각을 좁혀 조회합니다.

sar -u -s 02:00 -e 02:30

3단계 · 교차 확인

메모리·I/O도 함께 봅니다.

sar -r -s 02:00 -e 02:30 && sar -b -s 02:00 -e 02:30

실무에서는 이렇게 씁니다

1. 장애 시점 특정

상황 — 새벽에 응답이 느렸다는 제보가 있습니다.

sar -u -s 01:00 -e 03:00

결과 — 해당 시간대 CPU/대기 이력으로 부하 구간을 확인합니다.

포인트 — 메모리/디스크 이력과 함께 보면 원인을 좁힐 수 있습니다.

2. 네트워크 대역 확인

상황 — 트래픽 급증 시점을 알고 싶습니다.

sar -n DEV -s 20:00 -e 02:00

결과 — 인터페이스별 처리량 이력이 나옵니다.

포인트 — 백업/배치 시간과 겹치면 스케줄을 조정합니다.

주의할 점

  • sysstat이 수집 중이 아니면 과거 이력이 없습니다.
  • 기본 보관 기간이 제한되어 오래된 데이터는 사라집니다.
  • 이력 파일 위치와 날짜 형식은 배포판마다 다릅니다.

실제 실행 화면

장애 시간대의 CPU·iowait 이력을 조회한 결과입니다.

sar 명령어 실행 결과: 과거 CPU 이력

실제 운영 중인 서버

이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.