Linux

[리눅스] sar 명령어 완벽 가이드 사용법(시스템 성능 기록 및 분석)

인생아 2024. 10. 20. 11:17
반응형

sar(System Activity Reporter)은 리눅스에서 시스템 성능을 모니터링하는 강력한 명령어입니다. CPU, 메모리, 네트워크, 디스크 I/O 등 시스템 자원에 대한 다양한 통계를 주기적으로 수집하고, 기록된 데이터를 나중에 분석할 수 있게 해줍니다. sar 명령어는 sysstat 패키지에 포함되어 있으며, 서버 성능을 모니터링하고 이슈를 분석할 때 매우 유용합니다.

sar 설치하기

일부 리눅스 배포판에서는 sar 명령어가 기본적으로 설치되어 있지 않기 때문에 sysstat 패키지를 설치해야 합니다.

Debian/Ubuntu 계열:

user@linux:~$ sudo apt install sysstat

RHEL/CentOS 계열:

user@linux:~$ sudo yum install sysstat

sar 기본 사용법

sar 명령어의 기본 문법은 다음과 같습니다:

sar [옵션] [간격] [반복 횟수]
  • 간격: 통계를 수집하는 시간 간격(초 단위)
  • 반복 횟수: 통계를 출력할 횟수

예를 들어, 5초 간격으로 3번 데이터를 출력하려면 다음과 같이 사용할 수 있습니다:

user@linux:~$ sar 5 3

출력 예시는 다음과 같습니다:

Linux 5.4.0-89-generic (linux)   10/18/2024   _x86_64_  (4 CPU)

11:32:15 AM    CPU     %user     %nice   %system   %iowait    %steal     %idle
11:32:20 AM    all      1.22      0.00      0.65      0.01      0.00     98.12
11:32:25 AM    all      1.30      0.00      0.70      0.02      0.00     98.00
11:32:30 AM    all      1.18      0.00      0.60      0.01      0.00     98.21

sar 명령어의 주요 옵션

sar 명령어는 다양한 옵션을 제공하여 각 시스템 자원에 대해 구체적인 통계를 확인할 수 있습니다. 여기서 자주 사용되는 몇 가지 주요 옵션을 소개합니다:

- CPU 사용량 확인: sar -u

user@linux:~$ sar -u 5 3

출력 :

Linux 5.4.0-89-generic (linux)   10/18/2024   _x86_64_  (4 CPU)

11:33:10 AM    CPU     %user     %nice   %system   %iowait    %steal     %idle
11:33:15 AM    all      1.10      0.00      0.50      0.01      0.00     98.39
11:33:20 AM    all      1.15      0.00      0.55      0.02      0.00     98.28

%user는 사용자 모드에서의 CPU 사용률을 나타내며, %system은 시스템 모드에서의 CPU 사용률을 나타냅니다.

- 메모리 사용량 확인: sar -r

user@linux:~$ sar -r 5 3

출력:

11:34:10 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit
11:34:15 AM   402576    609500   60.22     11044     259472     320900
11:34:20 AM   401348    610800   60.35     11200     260000     321000

이 결과는 kbmemfreekbmemused 값을 통해 시스템의 메모리 사용 상태를 보여줍니다.

- 네트워크 통계 확인: sar -n DEV

user@linux:~$ sar -n DEV 5 3

출력:

11:35:10 AM IFACE   rxpck/s   txpck/s   rxkB/s   txkB/s  rxcmp/s  txcmp/s  rxmcst/s
11:35:15 AM ens33      12.00     10.00     0.80     0.60      0.00      0.00      0.00
11:35:20 AM ens33      15.00     12.00     1.00     0.90      0.00      0.00      0.00

네트워크 인터페이스(ens33)의 패킷 전송 및 수신 상태를 모니터링할 수 있습니다.

sar 로그 파일 분석

sar는 실시간 모니터링뿐만 아니라 기록된 데이터를 기반으로 이전 시간의 시스템 성능도 분석할 수 있습니다. 기본적으로 /var/log/sysstat 디렉터리에 로그 파일이 저장되며, 특정 시간의 데이터를 확인할 수 있습니다:

user@linux:~$ sar -f /var/log/sysstat/sa10

이 명령은 10일 전의 성능 데이터를 출력합니다. 특정 날짜에 성능 문제가 발생했을 때 해당 로그 파일을 통해 원인을 분석할 수 있습니다.

sar의 장점

  • 시스템 자원 사용량을 전반적으로 모니터링하고, 실시간 또는 기록된 데이터를 통해 성능 분석을 수행할 수 있습니다.
  • CPU, 메모리, 네트워크, I/O 등 다양한 자원에 대해 세부적인 통계를 제공하여 서버 관리문제 해결에 유용합니다.
  • 기록된 데이터 분석을 통해 장기적인 시스템 성능 변화를 추적할 수 있습니다.

참고사이트

반응형