sar 명령어는 솔라리스,유닉스,리눅스 등에서 유용하게 쓰는 시스템 모니터링 프로그램입니다.
모니터링 대상이 상당히 넓은 편이며 기본값은 CPU 활동에 대한 통계를 출력합니다.
각종 활동에 대한 통계를 다른프로그램을 이용하여 파일로 저장하고 통계치를 리포팅 하는 기능을 제공합니다.
sadc에서 생성한 daily activity 파일을 읽어서 보고서를 작성하기도 하고 시스템의 활동 상황을 수집 할 수도 있습니다.
- I/O 전송량
- 페이징
- 프로세스 생성 숫자
- 블락 디바이스 활동
- 인터럽트
- 네트워크 통계
- run 큐 및 시스템 부하 평균
- 메모리 통계 / 메모리와 스왑 공간 활용 통계
- CPU 이용도 / 특정 프로세스에 대한 CPU 이용도
- inode, 파일, 기타 커널 테이블에 대한 상태
- 시스템 스위칭 활동(context switch)
- 스와핑 통계
- 특정 프로세스 통계 / 특정 프로세스의 자식 프로세스 통계
- TTY 디바이스 활동
설치 확인 명령어 : rpm -qa | grep sysstat (설치되어 있지 않을 경우 결과값이 나오지 않음)
설치 명령어 : yum install sysstat
이는 정상으로, 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분간격으로 메모리 모니터링
- 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 사용).
- /usr/local/lib/sa1은 매일 바이너리 로그 파일을 생성할 cron을 예약하는 데 사용할 수 있는 쉘 스크립트입니다.
- /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에 저장한 다음 아래와 같이 프리젠테이션 종류의 차트를 그릴 수 있습니다.
'ㆍ Linux' 카테고리의 다른 글
CentOS 7, Pacemaker, 클러스터 (0) | 2023.07.06 |
---|---|
리눅스 시스템 모니터링 시스템 최적화 (0) | 2023.06.23 |
서버 상태 파악, 리눅스, Linux (0) | 2023.06.09 |
Ephemeral port, Well-Known Port, Registered Port, Dynamic Port, 임시 포트, 등록 포트, 시스템 포트 (0) | 2023.06.08 |
[Linux, CentOS] 리눅스 로그 파일의 종류 및 분석 (0) | 2021.10.20 |