2010년 5월 12일 수요일

sysstat

[root@localhost src]# wget http://perso.orange.fr/sebastien.godard/sysstat-9.0.6.1.tar.gz
[root@localhost src]# tar -xvzf ./sysstat-9.0.6.1.tar.gz
[root@localhost src]# cd ./sysstat-9.0.6.1
[root@localhost src]# ./configure --prefix=/usr/local/sysstat
[root@localhost sysstat-9.0.6.1]# make && make install

설치 자체는 매~우 간단하다.

log data 를 위한 파일 생성.

[root@localhost bin]# ./sar -A
Cannot open /var/log/sa/sa15: 그런 파일이나 디렉토리가 없음
해당하는 위치에 sa15 파일 생성.

[root@localhost bin]# touch /var/log/sa/sa15
[root@localhost bin]# ./sar -A
Invalid system activity file: /var/log/sa/sa15

활용법

sysstat슈트에 포함된도구-iostat,sar,sa1,sa2,sadf,sadc,pmstat
(http://perso.orange.fr/sebastien.godard/)


1.iostat

CPU 에 대한 통계와 I/O장치와 디스크 파티션에 대한 통계 테이터들을 보여주는것으로 iostat명령을 처음수행하게되면 시스템이 부팅되고 난이후로부터의 정볼르 보여주고,두번째부터는 이전에 명령을 수행한 시점부터의 통계테이터를 보여줍니다.

2.mpstat

CPU와 연관된 통계테이터들을 보여주는 프로그램으로 둘이상의 cpu가 존재할 경우 0번cpu가 첫번째 cpu를 의미하여 모든프로세서의 활동에 대한 평균을 나타낸다.
%irq 인터럽트를 처리하기위해 소모된 cpu시간의 백분율
%soft 소프트웨어적으로 발생한 인터럽트를 처리하기 위해 소모된 cpu시간의 백분율
%intr/s cpu에 유입된 인터럽트의 초당개수

3.sadc

system Activity data Collector의 이니셜로 된명령으로 말그대로 지정된 시간 간격으로 지정된 횟수만큼 시스템 성능과 관련된 데이터들을 이진파일형태로 저장합니다.데이터가 저장된 파일은 통상 /var/log/sa/sa??형태로 기록되며 ??은 명령이 수행된 날짜를 나타낸다.
ex)1초간격으로 10개의 시스템 활동관련 데이터 레코드를 /tmp/datafile에기록하는명령은
# /usr/lib/sa/sadc 1 10 /tmp/datafile

4.sadf

sadc나 sar등의 명령에 의해 수집된 데이터들은 이진파일형식이므로 vi에디터와 같은 편집기로는 그내용을 확인할 수없다.이때 사용하는 명령이 바로 sadf이며 다양한 형식으로 출력할 수있다.
(주의 할점은 sar,sadc등의 명령과 동일한 버젼이 상ㅇ되어야 정상적으로 데이터파일을 읽을수 있다.)
데이터 파일을 지정하지 않으면 /var/log/sa/sa??파일이 입력파일로 사용된다.

5.sar

시 스템활동정보를 모으고, 리포트를 작성하거나 저장하는 명령어로,sysstat슈트의 핵심이라고 할수 있으며,운영체제에서 누적하고 있는 각종 시스템 활동 카운터의 내용을 볼수 있는 도구이다. 뿐만아니라 sadc,sar등의 명령에 의해 생성된 데이터파일을 이용해서 분석할 수있는 보고서를 작성하는데도 사용된다.

option

Usage: ./sar [ options ] [ [ ] ]
Options are:
[ -A ] [ -b ] [ -B ] [ -C ] [ -d ] [ -h ] [ -m ] [ -p ] [ -q ] [ -r ] [ -R ]
[ -S ] [ -t ] [ -u [ ALL ] ] [ -v ] [ -V ] [ -w ] [ -W ] [ -y ]
[ -I { [,...] | SUM | ALL | XALL } ] [ -P { [,...] | ALL } ]
[ -n { [,...] | ALL } ]
[ -o [ ] | -f [ ] ]
[ -i ] [ -s [ ] ] [ -e [ ] ]


[root@localhost bin]# ./sar -h
Usage: ./sar [ options ] [ [ ] ]
Main options and reports:
-b I/O and transfer rate statistics
-B Paging statistics
-d Block device statistics
-I { | SUM | ALL | XALL }
Interrupts statistics
-m Power management statistics
-n { [,...] | ALL }
Network statistics
Keywords are:
DEV Network interfaces
EDEV Network interfaces (errors)
NFS NFS client
NFSD NFS server
SOCK Sockets (v4)
IP IP traffic (v4)
EIP IP traffic (v4) (errors)
ICMP ICMP traffic (v4)
EICMP ICMP traffic (v4) (errors)
TCP TCP traffic (v4)
ETCP TCP traffic (v4) (errors)
UDP UDP traffic (v4)
SOCK6 Sockets (v6)
IP6 IP traffic (v6)
EIP6 IP traffic (v6) (errors)
ICMP6 ICMP traffic (v6)
EICMP6 ICMP traffic (v6) (errors)
UDP6 UDP traffic (v6)
-q Queue length and load average statistics
-r Memory utilization statistics
-R Memory statistics
-S Swap space utilization statistics
-u [ ALL ]
CPU utilization statistics
-v Kernel table statistics
-w Task creation and system switching statistics
-W Swapping statistics
-y TTY device statistics

6.sa1,sa2

이두명령어는 쉘스크립트로 sa1경우에는 시스템의 활동과 관련되 데이터를 매일모으고 이진형식의 파일로 저장하는 명령어이며, sa2경우에는 매일의 보고서를 /var/log/sa/디렉토리에 기록하는 명령입니다.
sa1경우는 sdac명령을 활용하도록 작성된명령으로 crontab에 등록되어 많이 사용된다.
반면 sa2같은경우는 sar명령을 활용하도록 작성된 스크립트로 역시 crontab에 등록되어사용된다.


#매시간마다 sadc 데이터 저장.
#*/60 * * * * root /usr/lib/sa/sa1 1 1

*/60 * * * * root /usr/local/sysstat/lib/sa/sa1 1 1

#23:59분에 sar 데이터 저장.
#53 23 * * * root /usr/lib/sa/sa2 -A

59 23 * * * root /usr/local/sysstat/lib/sa/sa2 –A


캐쉬 메모리가 과다하게 많다고 느껴질때 캐쉬 삭제.

[root@localhost ~]# echo 3 > /proc/sys/vm/drop_caches

alias

홈 디렉토리 안의 .bashrc에 추가

alias delcaches='echo 3 > /proc/sys/vm/drop_caches'

댓글 없음:

댓글 쓰기