Ubuntu 20.04에서 SAR을 사용하여 시스템 리소스 모니터링


이 페이지에서

  1. 전제 조건
  2. SAR 설치
  3. CPU 사용량 모니터링
  4. 메모리 사용량 모니터링
  5. 페이징 통계 모니터링
  6. 블록 장치 통계 모니터링
  7. 네트워크 통계 모니터링
  8. 스왑 사용 모니터링
  9. I/O 작업 모니터링
  10. 결론

"시스템 활동 보고서"라고도 하는 SAR은 Linux 운영 체제용 시스템 리소스 모니터링 도구입니다. 시스템 관리자가 시스템 성능 보고서를 수집하고 더 많은 요청을 처리하기 위해 시스템 성능을 향상시키는 것은 매우 유용합니다. SAR을 사용하면 CPU 사용, 메모리 사용, I/O 장치 사용, 배터리 성능, 플러그 앤 플레이 장치, 디스크 사용, 프로세서 성능, 파일 시스템 등을 모니터링할 수 있습니다.

이 자습서에서는 SAR을 설치하고 사용하여 시스템 성능을 모니터링하는 방법을 보여줍니다.

설치가 완료되면 SAR 서비스를 시작하고 다음 명령을 사용하여 시스템 재부팅 시 시작되도록 활성화합니다.

systemctl start sysstat
systemctl enable sysstat

다음으로 다음 명령을 사용하여 설치된 SAR 버전을 확인할 수 있습니다.

sar -V

다음 출력에서 SAR 버전을 가져와야 합니다.

sysstat version 12.2.0
(C) Sebastien Godard (sysstat  orange.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 명령줄 도구를 설치하고 사용하여 시스템 성능을 모니터링하는 방법을 배웠습니다. 이것이 시스템 성능을 향상시키는 데 도움이 되기를 바랍니다.