Linux에서 sar 명령을 사용하는 방법
게시 됨: 2022-06-16 sar
명령을 사용하면 실시간 및 기록 데이터 모두에 대해 Linux 컴퓨터의 다양한 요소에 대한 성능 통계를 볼 수 있습니다. 이 훌륭한 리소스를 사용하는 방법을 보여줍니다.
관련: Chromebook에서 시스템 성능 통계를 보는 방법
사르 명령
sar
명령 또는 System Activity Reporter는 sysstat
패키지의 일부입니다. CPU 로드, 메모리 페이징, 메모리 사용률, 스왑 사용, 네트워크 I/O 등과 같은 일련의 통계 정보를 캡처합니다. 이 데이터를 실시간 스냅샷으로 액세스할 수 있게 하여 현재 컴퓨터에서 일어나는 일을 보여주고 기록 보고서에서 액세스할 수 있습니다.
10분마다 데이터 세트를 수집하는 데몬으로 백그라운드에서 실행됩니다. 현재 날짜의 데이터가 텍스트 파일에 기록됩니다. 자정이 지나면 바이너리 파일로 변환됩니다. 파일은 매달 덮어쓰기되어 하드 드라이브의 용량을 꾸준히 소모하지 않습니다.
sar
명령을 사용하면 시스템을 조사하고 통계를 볼 수 있습니다. 하지만 먼저 sysstat
패키지를 설치해야 합니다.
sysstat 패키지 설치
sysstat
설치는 매우 간단합니다. Linux 시스템의 패키지 관리자를 사용하여 설치한 다음 systemd
를 사용하여 백그라운드 데몬을 활성화하고 시작합니다.
Ubuntu에 sysstat
를 설치하려면 apt를 사용합니다.
sudo apt 설치 sysstat
Fedora에 sysstat
를 설치하려면 다음을 입력하십시오.
sudo dnf 설치 sysstat
Manjaro에 sysstat를 설치하려면 pacman을 사용합니다.
sudo 팩맨 -S 시스템 통계
sysstat
가 설치된 상태에서 컴퓨터를 부팅할 때마다 백그라운드 프로세스인 데몬으로 실행할 수 있도록 활성화해야 하며, 즉시 사용할 수 있도록 지금 시작해야 합니다. systemd
유틸리티 제품군의 일부인 systemctl
을 사용하여 데몬을 활성화하고 시작합니다.
sudo systemctl enable sysstat
sudo systemctl 시작 sysstat
사용 중인 sar
버전을 확인하고 응답하는지 확인하려면 -V
(버전) 옵션을 사용할 수 있습니다.
사르 -V
sar를 사용한 실시간 통계
sar
를 사용하여 지금 컴퓨터 내부에서 무슨 일이 일어나고 있는지 확인할 수 있습니다. 그리고 스냅샷은 특정 시점의 재생 상태일 뿐이고 때로는 추세 가 더 유용하기 때문에 sar
에 지정된 시간(초) 동안 여러 스냅샷을 표시하도록 요청할 수 있습니다.
CPU 통계
2초 간격으로 세 세트의 CPU 통계를 보려면 -u
(CPU) 옵션을 사용하는 이 명령을 사용합니다. 간격이 먼저 옵니다. 따라서 이 명령은 "3개의 데이터 세트에 대해 2초 단위로 CPU 통계를 표시합니다."라고 읽습니다.
사르 -u 2 3
터미널 창을 늘리면 테이블이 깔끔하게 정렬되어 읽기 쉽습니다.
첫 번째 열의 헤더는 명령이 실행된 시간입니다. 열의 값은 각 데이터 집합이 수집된 시간입니다. 다른 열은 다음과 같습니다.
- CPU : CPU 코어의 수 또는 모든 코어의 평균을 나타내는
ALL
입니다. - %User : "사용자 영역에서" 사용자 수준에서 응용 프로그램을 실행하는 데 소요된 시간의 백분율입니다.
- %Nice : 좋은 우선 순위로 사용자 수준에서 응용 프로그램을 실행하는 데 소요된 시간의 백분율입니다.
- %system : 커널에서 시스템 수준에서 프로세스를 실행하는 데 소요된 시간의 백분율입니다.
- %iowait : 보류 중인 디스크 I/O 요청으로 CPU가 유휴 상태인 시간의 백분율입니다.
- %steal : 가상 머신에서 하드웨어 호스트의 CPU가 다른 가상 머신을 서비스하고 있었기 때문에 가상 CPU가 유휴 상태였던 시간의 백분율입니다.
- %idle : CPU가 보류 중인 디스크 I/O 요청 없이 유휴 상태인 시간의 백분율입니다.
마지막 줄은 이전 줄의 평균입니다.
특정 코어에 대한 통계를 보려면 -P
(프로세서별) 옵션을 사용하십시오. 그 다음에는 CPU 코어 번호 또는 0,1,4
또는 4-8
과 같은 코어 번호 목록 또는 범위가 옵니다.
이 명령은 코어 1에 대해 1초 간격으로 세 개의 데이터 세트를 봅니다. 코어는 0부터 번호가 매겨집니다.
사르 -P 1 1 3
메모리 페이징 통계
-B
(페이징) 옵션을 사용하면 sar
가 하드 드라이브에 대한 메모리 페이징과 관련된 통계를 표시합니다. 우리는 5초 간격으로 두 세트의 정보를 요청할 것입니다.
사르 -B 5 2
열에는 다음 정보가 포함됩니다.
- pgpgin/s : 시스템이 하드 드라이브에서 초당 페이징 (검색)한 총 킬로바이트 수입니다.
- pgpgout/s : 시스템이 초당 하드 드라이브로 페이징한 총 킬로바이트 수입니다.
- fault/s : 시스템에서 초당 발생한 부 및 주 페이지 폴트의 수입니다.
- majflt/s : 디스크에서 메모리 페이지를 로드해야 하는 초당 시스템의 주요 오류 수입니다.
- pgfree/s : 시스템이 초당 여유 목록에 배치한 페이지 수입니다.
- pgscank/s : 메모리 관리 시스템
kswapd
데몬이 초당 스캔한 페이지 수입니다. - pgscand/s : 초당 직접 스캔한 페이지 수입니다.
- pgsteal/s : 시스템이 초당 캐시에서 회수한 페이지 수입니다.
- %vmeff :
pgsteal
/pgscan
으로 계산되며 페이지 회수의 효율성을 나타냅니다.
I/O 전송 속도
I/O 및 전송 속도 통계를 보려면 -b
(소문자 "b") 옵션을 사용합니다. 4초 간격으로 3세트의 데이터를 요청합니다.
사르 -b 4 3
이것이 열이 보유하는 것입니다.
- tps : 물리적 장치에 대한 초당 전송 요청의 총 수입니다. 이것은 요청 수입니다. 모두 성공하지 못했을 수도 있습니다.
- rtps : 물리적 장치에 발행된 초당 총 읽기 요청 수입니다.
- wtps : 물리적 장치에 발행된 초당 총 쓰기 요청 수입니다.
- dtps : 물리적 장치에 발행된 초당 폐기 요청의 총 수입니다.
- 빵/초 : 물리적 장치에서 읽은 총 데이터 양입니다. 이 수치는 초당 512바이트 블록으로 제공됩니다.
- bwrtn/s : 물리적 장치에 기록된 초당 블록의 총 데이터 양입니다.
- bdscd/s : 초당 블록 단위로 폐기된 데이터의 총량입니다.
검토하기 위해 선택할 수 있는 정보 범주가 더 많습니다. 모두 같은 방식으로 사용됩니다. -A
(all) 옵션을 사용하여 sar
가 던질 수 있는 모든 것의 완전한 덤프를 볼 수도 있습니다.
전체 목록은 sar 매뉴얼 페이지를 확인하십시오.
관련: 읽기/쓰기 속도는 무엇이며 왜 중요한가요?
sar를 사용한 기록 통계
과거 데이터를 검토하려면 일반적인 sar
명령에 -s
(시작) 및 -e
(종료) 옵션 시간을 추가하면 됩니다. 시간은 24시간제로 표시됩니다.
오늘 06:30에서 07:15 사이에 CPU 부하가 어땠는지 확인하기 위해 이 명령을 사용합니다.
사르 -u -s 06:30:00 -e 07:15:00
전날 상황을 보려면 숫자를 옵션 플래그로 사용하십시오. 숫자는 보고할 요일을 나타냅니다. -1
옵션은 어제를 의미하고 -2
옵션은 이틀 전을 의미하는 식입니다.
어제의 데이터를 사용하여 13:00에서 13:00 사이에 보고서를 생성해 보겠습니다.
사르 -u -1 -s 13:00:00 -e 13:30:00
보고할 날짜를 지정하는 또 다른 방법은 명령줄에서 해당 날짜의 데이터 파일 이름을 사용하는 것입니다. -f
(파일 이름) 옵션을 사용하여 이 작업을 수행합니다.
일일 파일을 "saXX"라고 하며 XX는 해당 월의 날짜로 대체됩니다. Linux 컴퓨터의 로그 폴더에 생성됩니다. sar
로그 폴더는 "/var/log/sa/" 또는 "/var/log/sysstat/"라고 합니다.
Ubuntu에서는 "/var/log/sysstat/"이므로 이번 달 21일 14:00에서 14:30 사이의 CPU 사용량을 확인하는 명령 형식은 다음과 같습니다.
사르 -u -s 14:00:00 -e 14:30:00 -f /var/log/sysstat/sa21
정보가 힘이다
그리고 sar
는 컴퓨터 성능에 대한 정보에 입각한 결정을 내리기에 충분한 정보를 제공합니다.
지원 역할을 하거나 친구 및 가족의 기술 지원인 경우 기록 데이터를 검토할 수 있는 것은 오늘 보고되었지만 실제로 어제 발생한 문제를 파헤칠 수 있는 좋은 방법입니다. 또는 지난 주.
관련: 시스템이 느림? Linux가 메모리, CPU 또는 IO 바운드인지 확인하는 방법