--- title: sar — 과거 자원 사용 이력 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: CPU·메모리·I/O·네트워크의 과거 이력을 조회하는 도구. 장애 시점 분석에 유용. tags: 프로그램, 장애 진단 및 복구, sar --- **💬 "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 이력](https://games.cursorai.co.kr/assets/sar-demo.png) 실제 운영 중인 서버 --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/troubleshooting/sar.html