Simulation is ...

Virtual = Real

Flight Sim 자세히보기

ㆍ Linux

sar 명령어를 이용한 시스템 모니터링, LINUX

FlightSim 2023. 6. 20. 18:08
320x100

sar 명령어는 솔라리스,유닉스,리눅스 등에서 유용하게 쓰는 시스템 모니터링 프로그램입니다.
모니터링 대상이 상당히 넓은 편이며 기본값은 CPU 활동에 대한 통계를 출력합니다.
각종 활동에 대한 통계를 다른프로그램을 이용하여 파일로 저장하고 통계치를 리포팅 하는 기능을 제공합니다.
sadc에서 생성한 daily activity 파일을 읽어서 보고서를 작성하기도 하고 시스템의 활동 상황을 수집 할 수도 있습니다.

[sar 명령어로 모니터링 가능한 항목]
- I/O 전송량
- 페이징
- 프로세스 생성 숫자
- 블락 디바이스 활동
- 인터럽트
- 네트워크 통계
- run 큐 및 시스템 부하 평균
- 메모리 통계 / 메모리와 스왑 공간 활용 통계
- CPU 이용도 / 특정 프로세스에 대한 CPU 이용도
- inode, 파일, 기타 커널 테이블에 대한 상태
- 시스템 스위칭 활동(context switch)
- 스와핑 통계
- 특정 프로세스 통계 / 특정 프로세스의 자식 프로세스 통계
- TTY 디바이스 활동
[sar 패키지 설치]
설치 확인 명령어 : rpm -qa | grep sysstat   (설치되어 있지 않을 경우 결과값이 나오지 않음)

설치 명령어 : yum install sysstat
패키지 설치 후 sar 명령어를 바로 실행하면 아래와 같은 에러 메시지가 나게 됩니다.
이는 정상으로, sar 패키지는 10분 간격으로 데이터를 수집하기 때문에 설치 직후 데이터가 없어서 나오는 에러입니다.

정보 수집 시간 조정을 원하실 경우 아래 파일 내용 수정
파일 경로 : /etc/cron.d/sysstat
수정해야할 내용 : */10 * * * * root /usr/lib64/sa/sa1 1 1   --> 10을 2로 바꾸면 2분 단위로 정보 수집

[sar 명령어 활용]

- 기본적으로 sar 명령어를 입력하였을 경우 보여지는 값은 CPU사용 정보입니다.
   * %user : user mode 에서 작동한 CPU 가동률
   * %sys : kernel mode에서 작동한 CPU 가동률
   * %idle : idle 상태로 있었던 CPU 대기율
   * %iowait : io wait 상태로 있었던 CPU 대기율

- 실시간으로 정보 보기는 "sar [간격] [인터벌] 형식으로 입력합니다.
  ex) sar 3 10 : 3초 간격으로 10개의 데이터 값을 출력해 줍니다. 

- 특정 날짜의 sar 정보 확인은 아래 명령어로 확인 가능합니다. (1달치 정보 조회 가능)
   해당 옵션은 다른 옵션과 조합하여 CPU 사용 정보 이외의 정보 조회도 가능합니다. 
   ex) sar -f /var/log/sa/sa01     -> 1일자 CPU 사용 정보 정보 출력

[옵션 활용을 통한 시스템 모니터링]

-b : 버퍼의 액티비티 측정. I/O와 transfer의 통계를 백분율로 출력합니다.
      * tps : 디스크에서 발생되어진 초당 전송량. 즉 디스크에 요청한 I/O양.
      * rtps : 디스크로부터 발생된 초당 읽기 총 요청 횟수
      * bread/s : 드라이브 안의 블럭에서 초당 읽은 데이터의 총합.
      * bwrtn/s : 드라이브 안의 블럭에서 초당 쓰여진 데이터의 총합.



-q : 실행 대기 큐에 있는 프로세스를 보여줍니다. 시스템의 load avarage를 나타냅니다.
      * runq-sz : 각 프로세스 대기 시간
      * plist-sz : 전체 프로세스 수
      * ldavg-1 : 기준 시간 이전 1분간 평균 작업 부하 정보
      * ldavg-5 : 기준 시간 이전 5분간 평균 작업 부하 정보
      * ldavg-15 : 기준 시간 이전 15분간 평균 작업 부하 정보

-r : 메모리, 스왑 공간의 이용 통계를 출력합니다.
      * kbmemfree : 사용가능한 총 메모리의 양(k/bytes)
      * kbmemused : 사용중인 총 메모리의 양(k/bytes), 커널에서 사용중인 메모리는 제외
      * %memused : 사용된 메모리의 %양
      * kbmemshrd : 시스템에서 공유메모리로 사용된 총 메모리의 양(k/bytes)
      * kbbuffers : 커널에서 buffer 메모리로 총 사용된 메모리의 양(k/bytes)
      * kbcached : 커널에서 cache data로 사용된 총 메모리의 양(k/bytes)
      * kbswpfree : 사용가능한 스왑 공간의 양(k/bytes)
      * kbswpused : 사용된 스왑 공간의 양(k/bytes)
      * %swpused : 사용된 스왑 공간의 %양

 

# sar -u 1 5  // CPU 사용률 확인​
12:17:02 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:17:03 AM     all      0.38      0.00      0.38      1.50      0.00     97.75
12:17:04 AM     all      8.73     0.00      0.62      2.12      0.00     88.53
12:17:05 AM     all      2.25      0.00      0.75      2.50      0.00     94.49
Average:        all      3.79      0.00      0.58      2.04      0.00     93.59 

* user :사용자모드에서 CPU가 소비된 시간의 비율
* nice: nice로 스케줄링의 우선도를 변경한 프로세스가 사용자 모드에서 CPU를 소비한 시간의 비율
* system: 시스템 모드에서 CPU가 소비된 시간의 비율
* iowait: CPU가 디스크 I/O 대기를 위해 Idle상태로 소비한 시간의 비율
* steal: Xen등 OS의 가상화를 이용하고 있을 경우 ㅡ 다른 가상 CPU의 계산으로 대기된 시간의 비율
* idle: CPU가 디스크I/O 대기등으로 대기되지 않고, Idle상태로 소비한 시간의 비율


# sar -q 1 5  // Load Average 확인
12:22:42 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
12:22:43 AM         0       204      1.38      1.13      1.10
12:22:44 AM         0       201      1.38      1.13      1.10
12:22:45 AM         0       201      1.38      1.13      1.10
Average:            0       202      1.38      1.13      1.10

* runq-sz​: 실행큐에 쌓여 있는 프로세스 수
* plist-sz: 시스템상의 프로세스 사이즈
​* ldavg-1,5,15: 1분,5분,15분 시간 흐름에 다른 Load Average 값의 추이​

 
# sar -r 1 5   // 메모리 사용현황 확인
12:28:11 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
12:28:12 AM    235960   5741468           96.05        1224         154580      8837360     73.10
12:28:13 AM    235984   5741444           96.05        1224         155104      8837360     73.10
12:28:14 AM    234836   5742592           96.07        1224         155492      8837360     73.10
Average:       235593   5741835            96.06        1224         155059      8837360     73.10

* ​kbmemfree: 물리 메모리의 남은 용량
* ​kbmemused: 사용중인 물리 메모리량
* ​memused: 물리 메모리 사용률
* ​kbbuffers: 커널 내의 버퍼로 사용되고 있는 물리 메모리의 용량
* ​kbcached: 커널내에서 캐시용 메모리로 사용되고 있는 물리 메모리의 용량
​* kbswapfree: 스왑영역의 남은 용량
* kbswpued: 사용중인 스왑의 용량

 
# sar -W 1 5  // 스왑 발생상황 확인
12:52:00 AM  pswpin/s pswpout/s
12:52:01 AM     80.00      0.00
12:52:02 AM     62.00      0.00
12:52:03 AM     26.00      0.00
12:52:04 AM     14.85      0.00
12:52:05 AM     17.00      0.00
Average:        39.92      0.00
  -> 스왑이 발생하면 서버의 전송량은 급격히 떨어짐.

* pswpin/s: 1초 동안에 swap-In 되고 있는 페이지 수
* ​pswpout/s​: 1초 동안에 swap-Out 되고 있는 페이지 수

sysstat 웹 사이트 (http://perso.wanadoo.fr/sebastien.godard/)

sar 명령어는 solaris, unix, linux 등에서 유용하게 쓰는 프로그램이다.

sar는 redhat 7.x 이상에 기본 들어있는 sysstat 패키지에 있는 프로그램이다.

sar 프로그램은 시스템의 다양한 활동에 대하여 모니터링을 할 수 있는데 모니터링 대상이 상당히 넓은 편이다.

기본값은 CPU 활동에 대한 통계를 출력한다.

sar는 각종 활동에 대한 통계를 다른 프로그램을 이용하여 파일로 저장하고 통계치를 reporting하는 기능을 제공한다.

sar명령은 sadc에서 생성한 daily activity 화일을 읽어서 보고서를 작성하기도 하고, 시스템의 활동상황을 수집할 수도 있다.

 

sar에서 모니터링 가능한 항목은 다음과 같다. 

- I/O 전송량 - 페이징- 프로세스 생성 숫자

- 블락 디바이스 활동

- 인터럽트 - 네트워크 통계

- run 큐 및 시스템 부하 평균

- 메모리와 스왑 공간 활용 통계

- 메모리 통계

- CPU 이용도

- 특정 프로세스에 대한 CPU 이용도

- inode, 파일, 기타 커널 테이블에 대한 상태

- 시스템 스위칭 활동(context switch)

- 스와핑 통계 - 특정 프로세스 통계

- 특정 프로세스의 자식 프로세스 통계

- TTY 디바이스 활동

 

다시 얘기 하지만.. 항상 모르기 때문에 help라는 넘을 이용해서 도움받자~~!!!

 

1. sysstat 설치

다운로드 http://perso.orange.fr/sebastien.godard/download.html

 

sysstat는 몇몇 프로그램을 같이 가지고 있다.. 그중에서 sar프로그램을 보자~!!!!

 

[root@localhost kjb4310]# sar --help
sysstat version 5.0.5

(C) Sebastien Godard
Usage: sar [ options... ] [ <interval> [ <count> ] ]
Options are:
[ -A ] [ -b ] [ -B ] [ -c ] [ -d ] [ -H ] [ -h ] [ -i <interval> ] [ -q ]

[ -r ] [ -R ] [ -t ] [ -u ] [ -v ] [ -V ] [ -w ] [ -W ] [ -y ]
[ -I { <irq> | SUM | ALL | XALL } ] [ -P { <cpu> | ALL } ]
[ -n { DEV | EDEV | SOCK | FULL } ]
[ -x { <pid> | SELF | ALL } ] [ -X { <pid> | SELF | ALL } ]
[ -o [ <filename> ] | -f [ <filename> ] ]
[ -s [ <hh:mm:ss> ] ] [ -e [ <hh:mm:ss> ] ]

 

sar [ -abcdgkmpqruvwxyADSC] [-o file] t [n] sar [ -abcdgkmpqruvwxyADSC] [ -s time] [-e time] [ -i sec] [-f file]

처음형태는 운영체제의 활동상황을 매 t초마다 n번 수행하여 누적한다. t는 반드시 주어야 하는 인수고 그렇지 않으면

두번째 형태의 명령으로 인식하여 실행한다.

 

sar의 명령어를 그냥 쳤을 경우에는... -u 옵션이 적용된다.~!!!!

 

■ sar -A : 모든 관련정보를 출력한다

 

 [root@localhost kjb4310]# sar | more
Linux 2.6.20 (localhost.localdomain)    2007년 06월 07일

00시 00분 01초       CPU     %user     %nice   %system   %iowait     %idle
00시 10분 01초       all     32.42      0.00     13.50      0.00     54.07
00시 20분 01초       all     32.30      0.00     13.36      0.00     54.33
.

Average:            all     33.42      0.00     14.01      0.00     52.57

[root@localhost kjb4310]# sar 5 2 => 5초 2번 필터링 하라 요런 얘기
Linux 2.6.20 (localhost.localdomain)    2007년 06월 07일

14시 29분 38초       CPU     %user     %nice   %system   %iowait     %idle
14시 29분 43초       all     65.65      0.00     25.16      0.00      9.19
14시 29분 48초       all      0.92      0.00      0.00      0.00     99.08

.

Average:          all     33.29      0.00     12.58      0.00     54.13


 [root@localhost kjb4310]# sar -b | more  =>>> 버퍼의 액티비티를 점검,  I/O 와 transfer 의 통계를 백분율로 출력한다.
Linux 2.6.20 (localhost.localdomain)    2007년 06월 07일

00시 00분 01초       tps      rtps      wtps   bread/s   bwrtn/s
00시 10분 01초      0.00      0.00      0.00      0.00      0.00
00시 20분 01초      0.00      0.00      0.00      0.00      0.00
.

Average:         0.00      0.00      0.00      0.00      0.00

 

* tps : 물리적 디스크에서 발생되어진 초당 전송량. 여기서 전송은 물리적 디스크에 요청한 I/O 이다
* rtps : 물리적 디스크로부터 발생된 초당 읽기 총 요청 횟수

* bread/s : 드라이브 안의 블럭에서 초당 읽은 데이타의 총합. 블럭은 부정확한 사이즈의 블럭이다.

* bwrth/s : 드라이브 안의 블럭에서 초당 쓰여진 데이타의 총합

※ 중요한 것은 %rcache와 %wcache는 버퍼의 실질적인 값으로 %rcache가 90 이하로 떨어지거나,

%wcache의 값이 65 이하로 측정되었을 경우에는 성능을 증가시킬 수 있다.

 

 [root@localhost kjb4310]# sar -B | more  =====>>>> -B : 페이징 통계를 출력한다.
Linux 2.6.20 (localhost.localdomain)    2007년 06월 07일

00시 00분 01초  pgpgin/s pgpgout/s   fault/s  majflt/s
00시 10분 01초      0.00      3.21     21.94      0.00
00시 20분 01초      0.00      3.06      9.95      0.00

* pgpgin/s : 디스크로부터 초당 paged in 된 page 의 총 수
* papgout/s : 디스크에 초당 paged out 된 page 의 총 수

 [root@localhost kjb4310]# sar -c | more  ====>>>>>새롭게 만들어져 활동하고있는 프로세스를 출력한다.
Linux 2.6.20 (localhost.localdomain)    2007년 06월 07일

00시 00분 01초    proc/s
00시 10분 01초      0.04

.

Average:         0.05

 

 [root@localhost kjb4310]# sar -d | more
Linux 2.6.20 (localhost.localdomain)    2007년 06월 07일

00시 00분 01초       DEV       tps  rd_sec/s  wr_sec/s
00시 10분 01초    dev1-0      0.00      0.00      0.00
00시 10분 01초    dev1-1      0.00      0.00      0.00
00시 10분 01초    dev1-2      0.00      0.00      0.00

.

Average:       dev1-0      0.00      0.00      0.00
Average:       dev1-1      0.00      0.00      0.00
Average:       dev1-2      0.00      0.00      0.00

 

 [root@localhost home2]# sar -e 09:00:00 -f 
Linux 2.6.20 (localhost.localdomain)    2007년 06월 12일

00시 00분 01초       CPU     %user     %nice   %system   %iowait     %idle
00시 10분 01초       all     53.79      0.00     22.42      0.00     23.79
00시 20분 01초       all     53.70      0.00     22.36      0.00     23.95


리포트의 종료시간을 설정한다,기본 ending time 은 18:00:00 이다.
시간표시형식은 24시간 format 을 사용해야한다. 이 옵션은 -f 또는 -o 옵션과 함께 사용되어져야한다

위의 내용은 /var/log/sa/sa## 파일에서 09:00:00 까지의 기록들만 출력하였다

 

 [root@localhost kjb4310]# sar -f | more
Linux 2.6.20 (localhost.localdomain)    2007년 06월 07일

00시 00분 01초       CPU     %user     %nice   %system   %iowait     %idle
00시 10분 01초       all     32.42      0.00     13.50      0.00     54.07
00시 20분 01초       all     32.30      0.00     13.36      0.00     54.33
.

Average:          all     33.45      0.00     14.03      0.00     52.51

 

 -f filename : filename 으로부터 기록을 출력한다.
filename 은 -o 옵션을 사용해서 생성된파일과 같은 종류의 파일이다.
기본 데이타 filename은 /var/log/sa/ad## 파일 들이다.
-f 옵션과 -o 옵션은 함께 사용할수 없다.


■ sar -h : 언제 테이타를 파일로부터 읽었는지를 나타낸다. 이것의 출력 형식은 프로세싱
명령어인 awk 처럼 쉽다. 출력은 tab으로 컬름이 구분되어 이루어졌다. 컬름은
다음과 같다. hostname,interval value,timestamp,device name,field name and value
로 구성되어 있다.

■ sar -i interval : 몇초간격으로 테이타를 출력할것인가를 결정한다.

 

■ sar -n DEV | EDEV | SOCK | FULL : 네트워크통계를 출력한다.

* DEV : Network Device의 결과로 부터의 통계

 - IFACE : Network Interface 이름
 - rxpck/s : 초당 받은 패킷수
 - txpck/s : 초당 전송한 패킷수
 - rxbyt/s : 초당 받은 bytes
 - txbyt/s : 초당 전송한 bytes
 - rxcmp/s : 압축된 패킷을 초당 받은 수
 - txcmp/s : 압축된 패킷을 초당 전송한 수
 - rxmcst/s : 초당 받은 다중 패킷 수

* EDEV : Network Device 의 에러 통계

 - IFACE : Network Interface 이름
 - rxerr/s : 초당 불량 패킷을 받은 수
 - txerr/s : 패킷전송중 초당 발생한 에러 수
 - coll/s : 패킷전송중 초당 발생한 충돌 수
 - rxdrop/s : 리눅스 buffer 의 부족으로 패킷을 받는도중 초당 drop 된 패킷 수
 - txdrop/s : 리눅스 buffer 의 부족으로 전송중 초당 drop 된 패킷 수
 - txcarr/s : 패킷전송도중 초당 발생한 carrier-error 수
 - rxfram/s : 패킷을 받는도중 초당 발생한 frame alignment 에러 수
 - rxfifo/s : 패킷을 받는 도중 초당 발생한 FIFO overrun 에러 수
 - txfifo/s : 전송된 패킷중 초당 발생한 FIFO overrun 에러 수

* SOCK : Socket 의 통계

 - totsck : 총 사용된 socket 수
 - tcpsck : 현재 사용중인 TCP sockets 수
 - udpsck : 현재 사용중이 UDP sockets 수
 - rawsck : 현재 사용중인 RAW sockets 수
 - ip-frag : 현재 사용중인 IP fragments 수 

* FULL : 모든 종류의 Keywords(DEV,EDEV,SOCK) 내용을 출력한다.

■ sar -o filename : 파일을 읽어서 binary 형태로 저장한다.

sar -o kjb4310-i 1 5   ====>>  1초 간격으로 5 개의 결과치를 kjb4310 이라는 파일로 저장했다

sar -f kjb4310   ====>>>  -f 옵션으로 저장된 kjb4310파일을 출력한다.

 

 [root@localhost kjb4310]# sar -q | more   =>> 실행 대기 큐에 있는 프로세스 점검, 시스템의 load avarage를 나타낸다.
Linux 2.6.20 (localhost.localdomain)    2007년 06월 07일

00시 00분 01초   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
00시 10분 01초         0       233      4.02      3.62      3.66
00시 20분 01초         0       231      3.29      3.51      3.57
.

Average:            4       232      3.85      3.84      3.80

runq-sz plist-sz ldavg-1 ldavg-5 순으로 보여주며 각각 프로세스 대기 시간과 전체 프로세스 수,

그리고 1분 전 및 5분전 평균 작업 부하 정보를 보여줍니다

 

 [root@localhost kjb4310]# sar -r | more        =>>>>> 가용메모리 점검, 메모리 & 스왑 공간의 이용 통계를 출력한다
Linux 2.6.20 (localhost.localdomain)    2007년 06월 07일

00시 00분 01초 kbmemfree kbmemused  %memused kbbuffers  kbcached kbswpfree kbswpused  %swpused  kbswpcad
00시 10분 01초    122972      3503004          96.61        41424      2650904     5220508        608               0.01          0
00시 20분 01초    146344      3479632          95.96        41580      2644832     5220508        608               0.01          0
.

Average:           130010   3495966     96.41     40450   2638289   5220508       608      0.01         0
※ 가용 메모리가 인스톨된 메모리의 6%보다 계속해서 작으면 가용 메모리가 부족하다는 것

 

* kbmemfree : 사용가능한 총 메모리의 양(kbytes)

* kbmemused : 사용중인 총 메모리의 양(kbytes), 커널에서 사용중인 메모리는 제외

* %memused : 사용된 메모리의 %

* kbmemshrd : 시스템에서 공유메모리로 사용된 총 메모리의 양 (kbytes)

* kbbuffers : 커널에서 buffer 메모리로 총 사용된 메모리의 양 (kbytes)

* kbcached : 커널에서 cache data 로 사용된 총 메모리의 양(kbytes)

* kbswpfree : 사용가능한 스왑공간의 양 (kbytes)

* kbswpused : 사용된 스왑공간의 양 (kbytes)

* %swpused : 사용된 스왑공간의 %

 

■ sar -R : 메모리 통계

* frmpg/s : 시스템에서 초당 자유로워진 memory pages 의 양
페이지의 크기는 시스템 아키텍쳐에따라 달라지며 보통 4K / 8K 이다.

* shmpg/s : 시스템에서 초당 더해진 memory pages 의 양

* bufpg/s : 시스템에서 초당 buffer 에 추가적으로 더해진 memory pages 의 양 

■ sar -s hh:mm:ss : 명령어를 실행시킬 시작시간을 설정한다.
이 옵션은 파일로부터 데이트를 읽을때만 사용가능하다 ( 옵션 -f )

 

ex. [root@kjb4310]# sar -s 14:01:00 kjb4310
 kjb430 라는 파일에 저장된 데이타중에 시간이 14:01:00 이상인것들만 출력한다.

여기서 kjb4310 라는 파일은 -f 옵션을 사용해서 만든 파일이다.

 

■ sar -u : CPU 사용 통계

* %user : 사용자 레벨(application level) 에서 실행중일때의 CPU 사용률 (%)

* %nice : 사용자 레벨(appliaction level) 에서 nice 가중치를 준 CPU 사용률(%)

* %system : 시스템레벨(kernel) 에서 실행중일때의 CPU 사용률(%)

* %idle : CPU가 쉬고있는 시간의 % 

■ sar -v : 커널테이블 & 파일 에서 inode 의 상태를 출력한다.

* dentunusd : Directory cache 에서 사용되고있지 않은 cache entries

* file-sz : file handles 의 사용양

* %file-sz : 리눅스 커널에서 할당가능한 최대 파일핸들의 수에대한 파일핸들의 사용된 퍼센트(%)

* inode-sz : inode handles 의 사용양

* super-sz : 커널에의해 할당된 super block handles 의 수

* %super-sz : 리눅스가 할당 가능한 최대 슈퍼블럭핸들에대한 실제로 할당되어진 슈퍼블럭핸들의 퍼센트(%)

* dquot-sz : Disk quota entryes 의 수

* %dquot-sz : 최대할당가능한 disk quota entries 에 대한 실지로 할당된 entries의 퍼센트(%)

 

 [root@localhost kjb4310]# sar -w | more   ====>>>>> 시스템의 switching 활동 현황 출력
Linux 2.6.20 (localhost.localdomain)    2007년 06월 07일

00시 00분 01초   cswch/s
00시 10분 01초      0.00
00시 20분 01초      0.00
.

Average:         0.00

 

* cswch/s : 초당 context switching 의 수

■ sar -W : swapping 의 통계 출력

* pswpin/s : 초당 swap in 된 수
* pswout/s : 초당 swap out 된 수

sar 설정하기

 

# cat /etc/cron.d/sysstat

# run system activity accounting tool every 10 minutes

*/10 * * * * root /usr/lib/sa/sa1 1 1

# generate a daily summary of process accounting at 23:53

 53 23 * * * root /usr/lib/sa/sa2 -A

sa1 는 매10분마다 시스템모니터링한 결과를 /var/log/sa/saxx 파일에 바이너리 형태로 기록한다. xx는 기록하는 날짜이다.

sa2 -A 는 23시 53분에 바이너리 파일을 읽어서 사람이 편하게 볼 수 있도록 보고서를 만든다. /var/log/sa/sarxx 형태로 기록된다. sa1 에서 5 3 이라고 해놓으면 매 10분마다 실행을 하면서 5초동안 3번을 기록한다는 뜻이다.

그러면 매10분마다 15번의 기록이 남는다. sa2 에서 -A는 모든 데이터를 보는 것인데 실제로는 자신에게

필요한 내용만 옵션을 이용하여 뽑아서 보는 것이 편할 것이다.

man 페이지의 예를 참고하면 된다.

# 8am-7pm activity reports every 10 minutes during weekdays. 
0 8-18 * * 1-5 /usr/lib/sa/sa1 600 6 & 
# 7pm-8am activity reports every an hour during weekdays. 
0 19-7 * * 1-5 /usr/lib/sa/sa1 & 
# Activity reports every an hour on Saturday and Sunday. 
0 * * * 0,6 /usr/lib/sa/sa1 & 
# Daily summary prepared at 19:05 
5 19 * * * /usr/lib/sa/sa2 -A & 

서비스에 따라 다르겠지만 sa2 에서 자세히 보아야 할 부분들은 다음과 같다. -r 메모리 및 스왑 스페이스 사용현황,

-u CPU 활용량, -W 스와핑 상황. -q load average

# sar -ruW -f sa27 3600 -> 메모리, cpu, 스왑 레포트를 sa27에서 만들며 3600초(1시간) 기준으로 만든다. 
# sar -r -f sa25 1800 -s 08:00:00 -e 19:00:00 -> 오전 8시부터 저녁 19시가지 30분간격으로 메모리 모니터링
 

 

  1. Sysstat – Linux용 성능 및 사용 활동 모니터링 도구

오늘 우리는 mpstat, pidstat, iostat  sar 유틸리티의 몇 가지 흥미로운 실용적인 예를 가지고 작업할 것입니다. 문제를 식별하는 데 도움이 될 수 있습니다. 이러한 유틸리티를 사용할 수 있는 다양한 옵션이 있습니다. 즉, 다양한 종류의 작업에 대해 다양한 옵션을 사용하여 명령을 수동으로 실행하거나 요구 사항에 따라 사용자 지정 스크립트를 생성할 수 있습니다. 시스템 관리자는 항상 게으르고 최소한의 노력으로 작업을 수행하는 쉬운 방법을 찾으려고 노력합니다.

mpstat – 프로세서 통계

1. 옵션 없이 mpstat 명령을 사용하면 모든 CPU의 전역 평균 활동이 표시됩니다.

 ~ $ mpstat

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

12:23:57  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
12:23:57  IST  all   37.35    0.01    4.72    2.96    0.00    0.07    0.00    0.00    0.00   54.88

2. '-P'(프로세서 번호 표시) 및 'ALL' 옵션과 함께 mpstat를 사용하면 0부터 시작하여 모든 CPU에 대한 통계가 하나씩 표시됩니다. 첫 번째.

 ~ $ mpstat -P ALL

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

12:29:26  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
12:29:26  IST  all   37.33    0.01    4.57    2.58    0.00    0.07    0.00    0.00    0.00   55.44
12:29:26  IST    0   37.90    0.01    4.96    2.62    0.00    0.03    0.00    0.00    0.00   54.48
12:29:26  IST    1   36.75    0.01    4.19    2.54    0.00    0.11    0.00    0.00    0.00   56.40
 

3. 각 cpu의 평균과 함께 n초 간격 후 N회 반복에 대한 통계를 표시하려면 다음 명령을 사용하십시오.

 
 ~ $ mpstat -P ALL 2 5

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

12:36:21  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
12:36:23  IST  all   53.38    0.00    2.26    0.00    0.00    0.00    0.00    0.00    0.00   44.36
12:36:23  IST    0   46.23    0.00    1.51    0.00    0.00    0.00    0.00    0.00    0.00   52.26
12:36:23  IST    1   60.80    0.00    3.02    0.00    0.00    0.00    0.00    0.00    0.00   36.18

12:36:23  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
12:36:25  IST  all   34.18    0.00    2.30    0.00    0.00    0.00    0.00    0.00    0.00   63.52
12:36:25  IST    0   31.63    0.00    1.53    0.00    0.00    0.00    0.00    0.00    0.00   66.84
12:36:25  IST    1   36.73    0.00    2.55    0.00    0.00    0.00    0.00    0.00    0.00   60.71

12:36:25  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
12:36:27  IST  all   33.42    0.00    5.06    0.25    0.00    0.25    0.00    0.00    0.00   61.01
12:36:27  IST    0   34.34    0.00    4.04    0.00    0.00    0.00    0.00    0.00    0.00   61.62
12:36:27  IST    1   32.82    0.00    6.15    0.51    0.00    0.00    0.00    0.00    0.00   60.51

4. 'I' 옵션은 프로세서당 총 인터럽트 통계 수를 인쇄합니다.

 ~ $ mpstat -I

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

12:39:56  IST  CPU    intr/s
12:39:56  IST  all    651.04

12:39:56  IST  CPU        0/s        1/s        6/s        8/s        9/s       12/s       16/s       17/s       20/s       21/s       22/s       23/s       45/s       46/s       47/s      NMI/s      LOC/s      SPU/s      PMI/s      IWI/s      RTR/s      RES/s      CAL/s      TLB/s      TRM/s      THR/s      MCE/s      MCP/s      ERR/s      MIS/s
12:39:56  IST    0      76.27       1.73       0.00       0.00       0.42       0.33       0.00       0.06      11.46       0.00       0.00       0.01       7.62       1.87       0.05       0.33     182.26       0.00       0.33       3.03       0.00      22.66       0.16       5.14       0.00       0.00       0.00       0.00       0.00       0.00
12:39:56  IST    1      70.88       1.44       0.00       0.00       0.41       0.33       0.00      27.91      10.33       0.00       0.00       0.01       7.27       1.79       0.05       0.32     184.11       0.00       0.32       5.17       0.00      22.09       0.13       4.73       0.00       0.00       0.00       0.00       0.00       0.00

12:39:56  IST  CPU       HI/s    TIMER/s   NET_TX/s   NET_RX/s    BLOCK/s BLOCK_IOPOLL/s  TASKLET/s    SCHED/s  HRTIMER/s      RCU/s
12:39:56  IST    0       0.00     116.49       0.05       0.27       7.33       0.00       1.22      10.44       0.13      37.47
12:39:56  IST    1       0.00     111.65       0.05       0.41       7.07       0.00      56.36       9.97       0.13      41.38

5. -u -I ALL -p ALL과 같은 하나의 명령으로 위의 모든 정보를 가져옵니다.

 ~ $ mpstat -A

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

12:41:39  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
12:41:39  IST  all   38.70    0.01    4.47    2.01    0.00    0.06    0.00    0.00    0.00   54.76
12:41:39  IST    0   39.15    0.01    4.82    2.05    0.00    0.02    0.00    0.00    0.00   53.95
12:41:39  IST    1   38.24    0.01    4.12    1.98    0.00    0.09    0.00    0.00    0.00   55.57

12:41:39  IST  CPU    intr/s
12:41:39  IST  all    651.73
12:41:39  IST    0    173.16
12:41:39  IST    1    225.89

12:41:39  IST  CPU        0/s        1/s        6/s        8/s        9/s       12/s       16/s       17/s       20/s       21/s       22/s       23/s       45/s       46/s       47/s      NMI/s      LOC/s      SPU/s      PMI/s      IWI/s      RTR/s      RES/s      CAL/s      TLB/s      TRM/s      THR/s      MCE/s      MCP/s      ERR/s      MIS/s
12:41:39  IST    0      76.04       1.77       0.00       0.00       0.41       0.36       0.00       0.06      11.60       0.00       0.00       0.01       7.42       1.83       0.05       0.34     182.89       0.00       0.34       2.97       0.00      22.69       0.16       5.22       0.00       0.00       0.00       0.00       0.00       0.00
12:41:39  IST    1      70.70       1.48       0.00       0.00       0.40       0.36       0.00      27.47      10.46       0.00       0.00       0.01       7.08       1.75       0.05       0.32     184.83       0.00       0.32       5.10       0.00      22.19       0.13       4.91       0.00       0.00       0.00       0.00       0.00       0.00

12:41:39  IST  CPU       HI/s    TIMER/s   NET_TX/s   NET_RX/s    BLOCK/s BLOCK_IOPOLL/s  TASKLET/s    SCHED/s  HRTIMER/s      RCU/s
12:41:39  IST    0       0.00     116.96       0.05       0.26       7.12       0.00       1.24      10.42       0.12      36.99
12:41:39  IST    1       0.00     112.25       0.05       0.40       6.88       0.00      55.05       9.93       0.13      41.20

pidstat – 프로세스 및 커널 스레드 통계

커널에서 관리하는 프로세스 모니터링 및 현재 스레드에 사용됩니다. pidstat는 하위 프로세스 및 스레드에 대한 상태도 확인할 수 있습니다.

# pidstat <OPTIONS> [INTERVAL] [COUNT]

6. 인수 없이 pidstat 명령을 사용하면 모든 활성 작업이 표시됩니다.

 ~ $ pidstat

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

12:47:24  IST   UID       PID    %usr %system  %guest    %CPU   CPU  Command
12:47:24  IST     0         1    0.01    0.12    0.00    0.13     1  init
12:47:24  IST     0         3    0.00    0.01    0.00    0.01     0  ksoftirqd/0
12:47:24  IST     0         9    0.00    0.04    0.00    0.04     0  rcu_sched
12:47:24  IST     0        10    0.00    0.00    0.00    0.00     0  watchdog/0
12:47:24  IST     0        11    0.00    0.00    0.00    0.00     1  watchdog/1
12:47:24  IST     0        12    0.00    0.00    0.00    0.00     1  migration/1
12:47:24  IST     0        13    0.00    0.01    0.00    0.01     1  ksoftirqd/1
12:47:24  IST     0        23    0.00    0.00    0.00    0.00     0  kworker/u9:0
12:47:24  IST     0        29    0.00    0.61    0.00    0.61     0  kworker/0:1
12:47:24  IST     0        30    0.00    0.06    0.00    0.06     1  kworker/1:1
12:47:24  IST     0       224    0.00    0.01    0.00    0.01     1  jbd2/sda1-8
12:47:24  IST     0       360    0.00    0.00    0.00    0.00     1  upstart-udev-br
12:47:24  IST     0       365    0.01    0.00    0.00    0.01     0  systemd-udevd
12:47:24  IST     0       476    0.00    0.00    0.00    0.00     0  kworker/u9:1

7. 활성 및 비활성 작업을 모두 인쇄하려면 '-p'(프로세스) 옵션을 사용하십시오.

 ~ $ pidstat -p ALL

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

12:51:55  IST   UID       PID    %usr %system  %guest    %CPU   CPU  Command
12:51:55  IST     0         1    0.01    0.11    0.00    0.12     1  init
12:51:55  IST     0         2    0.00    0.00    0.00    0.00     0  kthreadd
12:51:55  IST     0         3    0.00    0.01    0.00    0.01     0  ksoftirqd/0
12:51:55  IST     0         5    0.00    0.00    0.00    0.00     0  kworker/0:0H
12:51:55  IST     0         7    0.00    0.00    0.00    0.00     0  migration/0
12:51:55  IST     0         8    0.00    0.00    0.00    0.00     0  rcu_bh
12:51:55  IST     0         9    0.00    0.04    0.00    0.04     1  rcu_sched
12:51:55  IST     0        10    0.00    0.00    0.00    0.00     0  watchdog/0
12:51:55  IST     0        11    0.00    0.00    0.00    0.00     1  watchdog/1
12:51:55  IST     0        12    0.00    0.00    0.00    0.00     1  migration/1
12:51:55  IST     0        13    0.00    0.01    0.00    0.01     1  ksoftirqd/1
12:51:55  IST     0        15    0.00    0.00    0.00    0.00     1  kworker/1:0H
12:51:55  IST     0        16    0.00    0.00    0.00    0.00     1  khelper
12:51:55  IST     0        17    0.00    0.00    0.00    0.00     0  kdevtmpfs
12:51:55  IST     0        18    0.00    0.00    0.00    0.00     0  netns
12:51:55  IST     0        19    0.00    0.00    0.00    0.00     0  writeback
12:51:55  IST     0        20    0.00    0.00    0.00    0.00     1  kintegrityd

8. '-d 2' 옵션과 함께 pidstat 명령을 사용하면 I/O 통계를 얻을 수 있으며 2는 새로고침되는 간격(초)입니다. 통계. 이 옵션은 시스템에서 과도한 I/O가 발생하고 많은 리소스를 소비하는 프로세스에 대한 단서를 얻고자 하는 상황에서 유용할 수 있습니다.

 ~ $ pidstat -d 2

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

03:26:53  EDT       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command

03:26:55  EDT       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
03:26:57  EDT       574      0.00    148.00      2.00  miniserv.pl

03:27:01  EDT       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
03:27:03  EDT         1      0.00      8.00      2.00  init
03:27:03  EDT       450      0.00      2.00      0.00  rsyslogd
03:27:03  EDT       534    138.00     10.00      4.00  crond
03:27:03  EDT     25100      0.00      6.00      0.00  sendmail
03:27:03  EDT     30829      0.00      6.00      0.00  java

9. 프로세스 ID 4164에 대한 모든 스레드와 함께 CPU 통계를 알기 위해 2초 간격으로 3 > 시간은 '-t' 옵션(선택한 프로세스의 통계 표시)과 함께 다음 명령을 사용합니다.

 ~ $ pidstat -t -p 4164 2 3

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

01:09:06  IST   UID      TGID       TID    %usr %system  %guest    %CPU   CPU  Command
01:09:08  IST  1000      4164         -   22.00    1.00    0.00   23.00     1  firefox
01:09:08  IST  1000         -      4164   20.00    0.50    0.00   20.50     1  |__firefox
01:09:08  IST  1000         -      4171    0.00    0.00    0.00    0.00     0  |__Gecko_IOThread
01:09:08  IST  1000         -      4172    0.00    0.00    0.00    0.00     0  |__Socket
01:09:08  IST  1000         -      4173    0.00    0.00    0.00    0.00     0  |__JS
01:09:08  IST  1000         -      4174    0.00    0.00    0.00    0.00     0  |__JS
01:09:08  IST  1000         -      4175    0.00    0.00    0.00    0.00     0  |__Hang
01:09:08  IST  1000         -      4176    0.00    0.00    0.00    0.00     1  |__gdbus
01:09:08  IST  1000         -      4177    0.00    0.00    0.00    0.00     1  |__gmain

10. '-rh' 옵션을 사용하여 2초 간격으로 사용량을 자주 변경하는 프로세스의 메모리 사용량을 알 수 있습니다.

 ~ $ pidstat -rh 2 3

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

#      Time   UID       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
 1409816695  1000      3958   3378.22      0.00  707420 215972   5.32  cinnamon
 1409816695  1000      4164    406.93      0.00 1252024 461404  11.36  firefox
 1409816695  1000      6676    168.81      0.00    4436    984   0.02  pidstat

#      Time   UID       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
 1409816697     0      1601    644.00      0.00  506728 316788   7.80  Xorg
 1409816697  1000      3958   3412.00      0.00  707420 215972   5.32  cinnamon
 1409816697  1000      4164   2667.00      0.00 1259576 471724  11.62  firefox
 1409816697  1000      6676    172.50      0.00    4436   1020   0.03  pidstat

#      Time   UID       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
 1409816699     0      1601    644.00      0.00  506728 316788   7.80  Xorg
 1409816699  1000      3958   4094.00      0.00  710148 218700   5.39  cinnamon
 1409816699  1000      4164    599.00      0.00 1261944 476664  11.74  firefox
 1409816699  1000      6676    168.00      0.00    4436   1020   0.03  pidstat

11. 문자열 VB를 포함하는 모든 프로세스를 인쇄하려면 '-t' 옵션을 사용하여 스레드도 볼 수 있습니다.

 ~ $ pidstat -G VB

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

01:09:06  IST   UID      PID      %usr 	%system  %guest    %CPU   CPU  	Command
01:09:08  IST  1000    1492     22.00     1.00    	 0.00   	 23.00     1  		VBoxService
01:09:08  IST  1000    1902     4164      20.00    	 0.50    	 0.00   	20.50     	VBoxClient
01:09:08  IST  1000    1922     4171      0.00    	 0.00    	 0.00    	0.00     	VBoxClient
 ~ $ pidstat  -t -G VB
Linux 2.6.32-431.el6.i686 (tecmint) 09/04/2014 _i686_	(2 CPU)

03:19:52 PM   UID      TGID       TID    %usr %system  %guest    %CPU   CPU  Command
03:19:52 PM     0      1479         -    0.01    0.12    0.00    0.13     1  VBoxService
03:19:52 PM     0         -      1482    0.00    0.00    0.00    0.00     0  |__timesync
03:19:52 PM     0         -      1483    0.01    0.06    0.00    0.06     0  |__vminfo
03:19:52 PM     0         -      1485    0.00    0.01    0.00    0.01     1  |__memballoon
03:19:52 PM     0         -      1486    0.00    0.01    0.00    0.01     1  |__vmstats
03:19:52 PM     0         -      1487    0.00    0.05    0.00    0.05     0  |__automount
03:19:52 PM     0      1913         -    0.00    0.00    0.00    0.00     0  VBoxClient
03:19:52 PM     0         -      1913    0.00    0.00    0.00    0.00     0  |__VBoxClient
03:19:52 PM     0         -      1942    0.00    0.00    0.00    0.00     0  |__SHCLIP
03:19:52 PM     0      1933         -    0.04    0.89    0.00    0.93     0  VBoxClient
03:19:52 PM     0         -      1936    0.04    0.89    0.00    0.93     1  |__X11-NOTIFY
 

12. 실시간 우선 순위 및 일정 정보를 얻으려면 '-R' 옵션을 사용하십시오.

 ~ $ pidstat -R

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

01:09:06  IST   UID      PID	 prio      policy 	Command
01:09:08  IST  1000    3     	 99	       FIFO		migration/0
01:09:08  IST  1000    5     	 99          FIFO	migration/0
01:09:08  IST  1000    6    	 99          FIFO	watchdog/0

여기서는 Iostat 유틸리티에 대해 이미 다루었으므로 다루지 않을 것입니다. iostat에 대한 자세한 내용은 \Linux Performance Monitoring with Vmstat and Iostat를 참조하십시오.

sar – 시스템 활동 보고자

sar 명령을 사용하여 전체 시스템 성능에 대한 보고서를 얻을 수 있습니다. 이렇게 하면 시스템 병목 현상을 찾고 이러한 성가신 성능 문제에 대한 솔루션을 찾는 데 도움이 될 수 있습니다.

Linux 커널은 모든 요청, 완료 시간 및 I/O 블록 수 등을 추적하는 일부 카운터를 내부적으로 유지 관리합니다. 이러한 모든 정보에서 sar는 이러한 요청의 속도와 비율을 계산하여 병목 현상 영역을 찾습니다.

sar의 가장 중요한 점은 일정 기간 동안의 모든 활동을 보고한다는 것입니다. 따라서 sar가 적절한 시간(점심 시간이나 주말이 아닌)에 데이터를 수집하는지 확인하십시오. :)

13. 다음은 sar를 호출하는 기본 명령입니다. 현재 디렉토리에 sarfile이라는 파일이 하나 생성됩니다. '-u' 옵션은 CPU 세부 정보용이며 2초 간격으로 5개의 보고서를 수집합니다.

 ~ $ sar -u -o sarfile 2 5

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

01:42:28  IST     CPU     %user     %nice   %system   %iowait    %steal     %idle
01:42:30  IST     all     36.52      0.00      3.02      0.00      0.00     60.45
01:42:32  IST     all     43.32      0.00      5.04      0.00      0.00     51.64
01:42:34  IST     all     56.46      0.00      4.05      0.00      0.00     39.49
01:42:36  IST     all     44.44      0.00      3.79      0.00      0.00     51.77
01:42:38  IST     all     50.75      0.00      3.75      0.00      0.00     45.50
Average:        all     46.30      0.00      3.93      0.00      0.00     49.77

14. 위의 예에서 대화식으로 sar를 호출했습니다. 또한 /usr/local/lib/sa1  /usr/local/lib/sa2 스크립트를 사용하여 cron을 통해 비대화식으로 호출할 수 있는 옵션이 있습니다. 설치 시 접두사로 /usr/local 사용).

  1. /usr/local/lib/sa1은 매일 바이너리 로그 파일을 생성할 cron을 예약하는 데 사용할 수 있는 쉘 스크립트입니다.
  2. /usr/local/lib/sa2는 바이너리 로그 파일을 사람이 읽을 수 있는 형식으로 변경하는 쉘 스크립트입니다.

비대화형으로 만들려면 다음 Cron 항목을 사용하세요.

# Run sa1 shell script every 10 minutes for collecting data
*/2 * * * * /usr/local/lib/sa/sa1 2 10

# Generate a daily report in human readable format at 23:53
53 23 * * * /usr/local/lib/sa/sa2 -A

백엔드에서 sa1 스크립트는 특정 간격으로 데이터를 가져오기 위해 sadc(시스템 활동 데이터 수집기) 유틸리티를 호출합니다. sa2는 바이너리 로그 파일을 사람이 읽을 수 있는 형식으로 변경하기 위해 sar를 호출합니다.

 

15. '-q' 옵션을 사용하여 실행 대기열 길이, 총 프로세스 수 및 로드 평균을 확인합니다.

 ~ $ sar -q 2 5

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

02:00:44  IST   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
02:00:46  IST         1       431      1.67      1.22      0.97         0
02:00:48  IST         4       431      1.70      1.23      0.97         0
02:00:50  IST         2       431      1.70      1.23      0.97         0
02:00:52  IST         2       431      1.70      1.23      0.97         0
02:00:54  IST         0       431      1.64      1.23      0.97         0
Average:            2       431      1.68      1.23      0.97         0

16. '-F'를 사용하여 마운트된 파일 시스템에 대한 통계를 확인합니다.

 ~ $ sar -F 2 4

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

02:02:31  IST  MBfsfree  MBfsused   %fsused  %ufsused     Ifree     Iused    %Iused FILESYSTEM
02:02:33  IST      1001       449     30.95    1213790475088.85  18919505    364463      1.89 /dev/sda1

02:02:33  IST  MBfsfree  MBfsused   %fsused  %ufsused     Ifree     Iused    %Iused FILESYSTEM
02:02:35  IST      1001       449     30.95    1213790475088.85  18919505    364463      1.89 /dev/sda1

02:02:35  IST  MBfsfree  MBfsused   %fsused  %ufsused     Ifree     Iused    %Iused FILESYSTEM
02:02:37  IST      1001       449     30.95    1213790475088.85  18919505    364463      1.89 /dev/sda1

02:02:37  IST  MBfsfree  MBfsused   %fsused  %ufsused     Ifree     Iused    %Iused FILESYSTEM
02:02:39  IST      1001       449     30.95    1213790475088.86  18919505    364463      1.89 /dev/sda1

Summary      MBfsfree  MBfsused   %fsused  %ufsused     Ifree     Iused    %Iused FILESYSTEM
Summary          1001       449     30.95    1213790475088.86  18919505    364463      1.89 /dev/sda1

17. '-n DEV'를 사용하여 네트워크 통계를 봅니다.

 ~ $ sar -n DEV 1 3 | egrep -v lo

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

02:11:59  IST     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
02:12:00  IST     wlan0      8.00     10.00      1.23      0.92      0.00      0.00      0.00
02:12:00  IST    vmnet8      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:12:00  IST      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:12:00  IST    vmnet1      0.00      0.00      0.00      0.00      0.00      0.00      0.00

18. '-d'를 사용하여 iostat와 같은 블록 장치 통계를 봅니다.

 ~ $ sar -d 1 3

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

02:13:17  IST       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
02:13:18  IST    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

02:13:18  IST       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
02:13:19  IST    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

02:13:19  IST       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
02:13:20  IST    dev8-0      7.00     32.00     80.00     16.00      0.11     15.43     15.43     10.80

19. 메모리 통계를 인쇄하려면 '-r' 옵션을 사용하십시오.

 ~ $ sar -r 1 3

Linux 3.11.0-23-generic (linux-console.net) 	Thursday 04 September 2014 	_i686_	(2 CPU)

02:14:29  IST kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
02:14:30  IST   1465660   2594840     63.90    133052   1549644   3710800     45.35   1133148   1359792       392
02:14:31  IST   1472724   2587776     63.73    133060   1549792   3715504     45.40   1125816   1360000       836
02:14:32  IST   1469112   2591388     63.82    133060   1550036   3705288     45.28   1130252   1360168       804
Average:      1469165   2591335     63.82    133057   1549824   3710531     45.34   1129739   1359987       677

20. 'safd -d'를 사용하여 데이터베이스를 사용하여 처리할 수 있는 형식으로 데이터를 추출할 수 있습니다.

 ~ $ safd -d /var/log/sa/sa20140903 -- -n DEV | grep -v lo

 # hostname;interval;timestamp;IFACE;rxpck/s;txpck/s;rxkB/s;txkB/s;rxcmp/s;txcmp/s;rxmcst/s;%ifutil
tecmint;2;2014-09-03 07:53:29 UTC;eth0;1.50;0.00;0.13;0.00;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 07:53:31 UTC;eth0;2.00;0.00;0.18;0.00;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 07:53:33 UTC;eth0;1.00;0.00;0.09;0.00;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 07:53:35 UTC;eth0;2.00;0.00;0.18;0.00;0.00;0.00;0.00;0.00
tecmint;14778;2014-09-03 11:59:54 UTC;eth0;1.78;1.17;1.10;0.18;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 11:59:56 UTC;eth0;3.50;3.00;0.60;0.77;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 11:59:58 UTC;eth0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 12:00:00 UTC;eth0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 12:00:02 UTC;eth0;0.50;0.50;0.48;0.03;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 12:00:04 UTC;eth0;2.50;3.50;0.21;2.05;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 12:00:06 UTC;eth0;1.49;1.00;0.62;0.06;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 12:00:08 UTC;eth0;0.50;0.00;0.03;0.00;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 12:00:10 UTC;eth0;0.50;0.50;0.03;0.04;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 12:00:12 UTC;eth0;1.00;0.50;0.12;0.04;0.00;0.00;0.00;0.00

이것을 csv에 저장한 다음 아래와 같이 프리젠테이션 종류의 차트를 그릴 수 있습니다.

 

320x100
반응형