sar 명령어는 System Activity Report의 약자로, 리눅스에서 시스템의 다양한 성능 데이터를 실시간으로 수집하거나 과거의 데이터를 분석하기 위해 사용하는 도구입니다.
[package install]
# dnf install sysstat
Services start -> enable -> status check
# systemctl start sysstat
sar는 sysstat 패키지의 일부로 제공되며, CPU 사용률, 메모리 사용, 디스크 I/O, 네트워크 트래픽, 프로세스 생성 등 시스템의 활동에 대한 세부적인 정보를 수집합니다.
sar 명령어의 기본적인 사용법은 다음과 같습니다:
sar [옵션] [간격] [횟수]
- 옵션 : 수집할 데이터의 종류를 지정합니다. CPU 사용률, 메모리 사용 등과 같은 특정 데이터 유형을 지정할 수 있습니다.
- 간격 : 몇 초 간격으로 데이터를 수집할지 지정합니다.
- 횟수 : 데이터를 수집할 횟수를 지정합니다.
간격과 횟수를 설정하면 sar는 지정된 간격으로 지정된 횟수만큼 데이터를 수집합니다.
다음은 몇 가지 주요 sar 옵션들의 예시입니다:
- -u : 모든 CPU의 사용률을 보여줍니다.
- -r : 메모리 사용률을 보여줍니다.
- -b : 블록 디바이스(디스크 I/O) 통계를 보여줍니다.
- -n DEV: 네트워크 인터페이스 통계를 보여줍니다.
- -p : 각 프로세스의 CPU 및 메모리 사용량을 보여줍니다.
예를 들어, CPU 사용률을 1초 간격으로 5번 보고 싶다면 다음과 같은 명령어를 사용할 수 있습니다.
# sar -u 1 5
또한, sar는 과거의 시스템 활동 데이터를 검토하는 데에도 사용될 수 있습니다.
sysstat 서비스에 의해 수집된 데이터는 /var/log/sa/saXX 파일에 저장되며, sar 명령어를 사용하여 이러한 데이터를 조회할 수 있습니다.
특정 날짜의 CPU 사용 데이터를 보고 싶다면, 다음과 같이 할 수 있습니다.
sar -u -f /var/log/sa/saXX `XX`는 특정 날짜를 나타내는 숫자이며,
예를 들어 01일이면 sa01이 됩니다.
sar를 사용하여 시스템의 성능 문제를 진단하거나, 일상적인 모니터링을 수행하거나, 성능 기준선을 설정하는 데 도움을 줄 수 있습니다. 이러한 데이터를 통해 시스템 관리자는 리소스 사용 패턴을 이해하고 필요에 따라 적절한 조치를 취할 수 있습니다.