|
아래의 내용은 man 페이지를 기초로 한것입니다. 잘못번역된 부분이 많을수도 있으므로 참고만 하세요 sar 명령어에는 많은 기능들이 있는것 같습니다. 우리가 일반적으로 시스템을 check 하기위해서사용되는 top,ps,vmstat,netstat ...등과 같이 잘쓰면 아주 효율적인 명령어 가 될것 같습니다.
이 내용을 보시는 분들께서는 자기 시스템의 man 페이지를 꼭 참고하시길 바랍니다. 아래의 내용중 잘못된 부분이있으면 메일(somajeje@hotmail.com)로 알려주시길 바랍니다.
[ 설 명 ]
sar - 시스템의 활동정보를 수집,리포팅 또는 저장하는 기능을한다. sar 명령어는 OS 에서 일어나는 활동수치를 누적시켜 표준 출력으로 기록한다.
[ 옵 션 ]
1. -A : 모든 관련정보를 출력한다.
2. -b : I/O 와 transfer 의 통계를 백분율로 출력한다.
* tps : 물리적 디스크에서 발생되어진 초당 전송량 여기서 전송은 물리적 디스크에 요청한 I/O 이다 * rtps : 물리적 디스크로부터 발생된 초당 읽기 총 요청 횟수 * wtps : 물리적 디스크로부터 발생된 초당 쓰기 총 요청 횟수
* bread/s : 드라이브 안의 블럭에서 초당 읽은 데이타의 총합 블럭은 부정확한 사이즈의 블럭이다.
* bwrth/s : 드라이브 안의 블럭에서 초당 쓰여진 데이타의 총합
4. -B : 페이징 통계를 출력한다.
* pgpgin/s : 디스크로부터 초당 paged in 된 page 의 총 수 * papgout/s : 디스크에 초당 paged out 된 page 의 총 수 5. -c : 새롭게 만들어져 활동하고있는 프로세스를 출력한다.
6. -e hh:mm:dd : 리포트의 종료시간을 설정한다,기본 ending time 은 18:00:00 이다. 시간표시형식은 24시간 format 을 사용해야한다. 이 옵션은 -f 또는 -o 옵션과 함께 사용되어져야한다.
예제] [root@soma]# sar -e 09:00:00 -f
Linux 2.4.9-34 (redsoma) 10/25/2002
12:01:00 AM CPU %user %nice %system %idle 12:11:00 AM all 0.00 0.00 0.01 99.99 12:21:00 AM all 0.00 0.00 0.01 99.98 12:31:00 AM all 0.00 0.00 0.01 100.00 12:41:00 AM all 0.00 0.00 0.01 99.99 -------------------생 략----------------------- 07:31:00 AM all 0.00 0.00 0.01 99.99 07:41:00 AM all 0.00 0.00 0.01 100.00 07:51:00 AM all 0.00 0.00 0.00 100.00 08:01:01 AM all 0.00 0.00 0.02 99.98 Average: all 0.02 0.00 0.01 99.96
설명] /var/log/sa/sa## 파일에서 09:00:00 까지의 기록들만 출력하였다.
7. -f filename : filename 으로부터 기록을 출력한다. filename 은 -o 옵션을 사용해서 생성된파일과 같은 종류의 파일이다. 기본 데이타 filename은 /var/log/sa/ad## 파일 들이다. -f 옵션과 -o 옵션은 함께 사용할수 없다.
8. -h : 언제 테이타를 파일로부터 읽었는지를 나타낸다. 이것의 출력 형식은 프로세싱 명령어인 awk 처럼 쉽다. 출력은 tab으로 컬름이 구분되어 이루어졌다. 컬름은 다음과 같다. hostname,interval value,timestamp,device name,field name and value 로 구성되어 있다.
9. -i interval : 몇초간격으로 테이타를 출력할것인가를 결정한다.
10. -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) 내용을 출력한다.
11. -o filename : 파일을 읽어서 binary 형태로 저장한다. 예제] [root@soma]# sar -o soma -i 1 5 확인] [root@soma]# sar -f soma Linux 2.4.9-34 (redsoma) 10/25/2002
02:59:19 PM CPU %user %nice %system %idle 02:59:20 PM all 0.00 0.00 2.00 98.00 02:59:21 PM all 0.00 0.00 1.00 99.00 02:59:22 PM all 0.00 0.00 1.00 99.00 02:59:23 PM all 0.00 0.00 1.00 99.00 02:59:24 PM all 0.00 0.00 1.00 99.00
Average: all 0.00 0.00 1.20 98.80
설명] 1초 간격으로 5 개의 결과치를 soma라는 파일로 저장했다. 이를 확인하는 옵션으로 -f 옵션을 사용해서 저장한 내요을 출력하였다.
12. -r : 메모리 & 스왑 공간의 이용 통계를 출력한다.
* kbmemfree : 사용가능한 총 메모리의 양(kbytes) * kbmemused : 사용중인 총 메모리의 양(kbytes), 커널에서 사용중인 메모리는 제외 * %memused : 사용된 메모리의 %
* kbmemshrd : 시스템에서 공유메모리로 사용된 총 메모리의 양 (kbytes)
* kbbuffers : 커널에서 buffer 메모리로 총 사용된 메모리의 양 (kbytes)
* kbcached : 커널에서 cache data 로 사용된 총 메모리의 양(kbytes)
* kbswpfree : 사용가능한 스왑공간의 양 (kbytes) * kbswpused : 사용된 스왑공간의 양 (kbytes)
* %swpused : 사용된 스왑공간의 %
13. -R : 메모리 통계
* frmpg/s : 시스템에서 초당 자유로워진 memory pages 의 양 페이지의 크기는 시스템 아키텍쳐에따라 달라지며 보통 4K / 8K 이다.
* shmpg/s : 시스템에서 초당 더해진 memory pages 의 양
* bufpg/s : 시스템에서 초당 buffer 에 추가적으로 더해진 memory pages 의 양
14. -s hh:mm:ss : 명령어를 실행시킬 시작시간을 설정한다. 이 옵션은 파일로부터 데이트를 읽을때만 사용가능하다 ( 옵션 -f )
예제] [root@soma]# sar -s 17:01:00 soma 설명] soma 라는 파일에 저장된 데이타중에 시간이 17:01:00 이상인것들만 출력한 다. 여기서 soma 라는 파일은 -f 옵션을 사용해서 만든 파일이다.
15. -u : CPU 사용 통계
* %user : 사용자 레벨(application level) 에서 실행중일때의 CPU 사용률 (%) * %nice : 사용자 레벨(appliaction level) 에서 nice 가중치를 준 CPU 사용률(%) * %system : 시스템레벨(kernel) 에서 실행중일때의 CPU 사용률(%)
* %idle : CPU가 쉬고있는 시간의 %
16. -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의 퍼센트(%)
17. -w : 시스템의 switching 활동 현황 출력
* cswch/s : 초당 context switching 의 수
18. -W : swapping 의 통계 출력
* pswpin/s : 초당 swap in 된 수 * pswout/s : 초당 swap out 된 수
위의 내용중에는 다소 설명이 부족한 부분이많습니다. 이는 메모리관리/프로세스관리 와 같은 부분을 좀더 공부를 하시면 이해하시는데 도움이 될거라 생각합니다.
저역시 위의 내용을 보면서 다른 관련서적들을 통해서 이해를할수 있었습니다. 워낙 모르는 부분이 많아서....................ㅠ.ㅠ
| |