Ubuntu 20.04에서 SAR을 사용하여 시스템 리소스 모니터링
이 페이지에서
- 전제 조건
- SAR 설치
- CPU 사용량 모니터링
- 메모리 사용량 모니터링
- 페이징 통계 모니터링
- 블록 장치 통계 모니터링
- 네트워크 통계 모니터링
- 스왑 사용 모니터링
- I/O 작업 모니터링
- 결론
"시스템 활동 보고서"라고도 하는 SAR은 Linux 운영 체제용 시스템 리소스 모니터링 도구입니다. 시스템 관리자가 시스템 성능 보고서를 수집하고 더 많은 요청을 처리하기 위해 시스템 성능을 향상시키는 것은 매우 유용합니다. SAR을 사용하면 CPU 사용, 메모리 사용, I/O 장치 사용, 배터리 성능, 플러그 앤 플레이 장치, 디스크 사용, 프로세서 성능, 파일 시스템 등을 모니터링할 수 있습니다.
이 자습서에서는 SAR을 설치하고 사용하여 시스템 성능을 모니터링하는 방법을 보여줍니다.
전제 조건
- Ubuntu 20.04를 실행하는 서버.\n
- 서버 IP를 가리키는 유효한 도메인 이름입니다.\n
- 루트 암호는 서버에서 구성됩니다.\n
SAR 설치
기본적으로 SAR 패키지는 Ubuntu 기본 리포지토리에서 사용할 수 있습니다. 다음 명령을 실행하여 설치할 수 있습니다.
apt-get install sysstat -y
설치가 완료되면 SAR 서비스를 시작하고 다음 명령을 사용하여 시스템 재부팅 시 시작되도록 활성화합니다.
systemctl start sysstat
systemctl enable sysstat
다음으로 다음 명령을 사용하여 설치된 SAR 버전을 확인할 수 있습니다.
sar -V
다음 출력에서 SAR 버전을 가져와야 합니다.
sysstat version 12.2.0 (C) Sebastien Godard (sysstatorange.fr)
설치하는 동안 SAR은 10분마다 보고서를 수집하고 생성하기 위해 Cron 파일을 생성합니다. 다음 명령으로 확인할 수 있습니다.
cat /etc/cron.d/sysstat
다음 출력이 표시되어야 합니다.
# The first element of the path is a directory where the debian-sa1 # script is located PATH=/usr/lib/sysstat:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin # Activity reports every 10 minutes everyday 5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1 # Additional run at 23:59 to rotate the statistics file 59 23 * * * root command -v debian-sa1 > /dev/null && debian-sa1 60 2
CPU 사용량 모니터링
다음 명령을 실행하여 1초마다 CPU 사용량을 4번 모니터링할 수 있습니다.
sar 1 4
다음 출력이 표시되어야 합니다.
Linux 5.4.0-29-generic (ubunt4) 01/04/2021 _x86_64_ (2 CPU) 09:32:39 AM CPU %user %nice %system %iowait %steal %idle 09:32:40 AM all 0.00 0.00 0.00 0.00 0.00 100.00 09:32:41 AM all 0.00 0.00 0.00 0.00 0.00 100.00 09:32:42 AM all 0.00 0.00 0.00 0.00 0.00 100.00 09:32:43 AM all 0.00 0.00 0.00 0.00 0.00 100.00 Average: all 0.00 0.00 0.00 0.00 0.00 100.00
-o 옵션을 사용하여 생성된 출력을 파일에 저장할 수도 있습니다.
sar 1 4 -o cpu-report
아래와 같이 -f 옵션을 사용하여 나중에 이 보고서를 볼 수 있습니다.
sar -f cpu-report
다음 출력이 표시되어야 합니다.
Linux 5.4.0-29-generic (ubunt4) 01/04/2021 _x86_64_ (2 CPU) 09:35:01 AM CPU %user %nice %system %iowait %steal %idle 09:35:02 AM all 0.50 0.00 1.00 0.00 0.00 98.50 09:35:03 AM all 0.00 0.00 0.50 0.00 0.00 99.50 09:35:04 AM all 0.00 0.00 0.00 0.00 0.00 100.00 09:35:05 AM all 0.50 0.00 0.50 0.00 0.00 99.00 Average: all 0.25 0.00 0.50 0.00 0.00 99.25
메모리 사용량 모니터링
-r 옵션을 사용하여 시스템의 메모리 사용량을 모니터링할 수 있습니다.
메모리 사용량을 1초마다 4번 모니터링하려면 다음 명령을 실행합니다.
sar -r 1 4
다음과 같은 결과가 표시되어야 합니다.
Linux 5.4.0-29-generic (ubunt4) 01/04/2021 _x86_64_ (2 CPU) 09:37:29 AM kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 09:37:30 AM 3609412 3733536 47556 1.18 24180 290460 102048 2.26 138240 206508 0 09:37:31 AM 3609412 3733536 47556 1.18 24180 290460 102048 2.26 138240 206508 0 09:37:32 AM 3609444 3733568 47524 1.18 24180 290460 102048 2.26 138240 206508 0 09:37:33 AM 3609444 3733568 47524 1.18 24180 290460 102048 2.26 138240 206508 0 Average: 3609428 3733552 47540 1.18 24180 290460 102048 2.26 138240 206508 0
페이징 통계 모니터링
-B 옵션을 사용하여 시스템의 페이징 통계를 모니터링할 수 있습니다.
다음 명령을 실행하여 페이징 통계를 표시합니다.
sar -B 1 4
다음 출력이 표시되어야 합니다.
Linux 5.4.0-29-generic (ubunt4) 01/04/2021 _x86_64_ (2 CPU) 09:39:03 AM pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s %vmeff 09:39:04 AM 0.00 0.00 4.00 0.00 1.00 0.00 0.00 0.00 0.00 09:39:05 AM 0.00 0.00 1.00 0.00 8.00 0.00 0.00 0.00 0.00 09:39:06 AM 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 09:39:07 AM 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: 0.00 0.00 1.25 0.00 4.25 0.00 0.00 0.00 0.00
블록 장치 통계 모니터링
SAR 명령과 함께 -d 옵션을 사용하여 블록 장치 통계 보고서를 표시할 수 있습니다. -p 옵션을 사용하여 보다 읽기 쉬운 형식으로 출력을 표시할 수도 있습니다.
sar -d -p 1 4
다음 출력이 표시되어야 합니다.
Linux 5.4.0-29-generic (ubunt4) 01/04/2021 _x86_64_ (2 CPU) 09:41:15 AM DEV tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util 09:41:16 AM sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:41:17 AM sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:41:18 AM sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:41:19 AM sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
네트워크 통계 모니터링
SAR 명령과 함께 -n 옵션을 사용하여 시스템의 네트워크 통계를 모니터링할 수 있습니다. -n 옵션과 함께 DEV, EDEV, NFS, NFSD, SOCK, IP, EIP, ICMP, EICMP, TCP, ETCP, UDP, SOCK6, IP6, EIP6, ICMP6, EICMP6 & UDP6을 사용하여 특정 장치를 모니터링할 수 있습니다. ALL 옵션을 사용하여 모든 네트워크 장치를 모니터링할 수도 있습니다.
모든 네트워크 장치를 모니터링하려면 다음 명령을 실행합니다.
sar -n ALL 1 4
모든 네트워크 인터페이스의 통계를 모니터링하려면 다음 명령을 실행합니다.
sar -n DEV 1 4
다음과 같은 결과가 표시되어야 합니다.
Linux 5.4.0-29-generic (ubunt4) 01/04/2021 _x86_64_ (2 CPU) 09:51:18 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 09:51:19 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:51:19 AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:51:19 AM eth0 12.00 2.00 0.91 0.23 0.00 0.00 0.00 0.00 09:51:19 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 09:51:20 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:51:20 AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:51:20 AM eth0 16.00 12.00 1.13 2.22 0.00 0.00 0.00 0.00 09:51:20 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 09:51:21 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:51:21 AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:51:21 AM eth0 6.00 12.00 0.46 3.02 0.00 0.00 0.00 0.00 09:51:21 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 09:51:22 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:51:22 AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:51:22 AM eth0 9.00 22.00 0.66 3.49 0.00 0.00 0.00 0.00 Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: eth0 10.75 12.00 0.79 2.24 0.00 0.00 0.00 0.00
스왑 사용량 모니터링
-S optio를 사용하여 스왑 사용 통계를 모니터링할 수 있습니다.
sar -S 1 4
다음 출력이 표시되어야 합니다.
Linux 5.4.0-29-generic (ubunt4) 01/04/2021 _x86_64_ (2 CPU) 09:54:18 AM kbswpfree kbswpused %swpused kbswpcad %swpcad 09:54:19 AM 483800 0 0.00 0 0.00 09:54:20 AM 483800 0 0.00 0 0.00 09:54:21 AM 483800 0 0.00 0 0.00 09:54:22 AM 483800 0 0.00 0 0.00 Average: 483800 0 0.00 0 0.00
I/O 작업 모니터링
초당 트랜잭션, 초당 읽기, 초당 쓰기와 같은 I/O 작업에 대한 세부 정보를 모니터링하려면 다음 명령을 실행합니다.
sar -b 1 4
다음 출력이 표시되어야 합니다.
Linux 5.4.0-29-generic (ubunt4) 01/04/2021 _x86_64_ (2 CPU) 09:56:58 AM tps rtps wtps dtps bread/s bwrtn/s bdscd/s 09:56:59 AM 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:57:00 AM 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:57:01 AM 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:57:02 AM 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: 0.00 0.00 0.00 0.00 0.00 0.00 0.00
결론
위 게시물에서 SAR 명령줄 도구를 설치하고 사용하여 시스템 성능을 모니터링하는 방법을 배웠습니다. 이것이 시스템 성능을 향상시키는 데 도움이 되기를 바랍니다.