[scrap]리눅스에서 Disk IO 및 시스템 리소스 모니터링

http://solarixer.blogspot.kr/2010/10/disk-io.html

리눅스 상에서 시스템 리소스 모니터링 할 때 보통 아래와 같은 command 를 사용한다.

CPU 정보를 볼때 보통 top 이나 sar 등으로 보고
프로세스 정보를 볼 땐 보통 ps 를 사용하며
메모리 정보를 볼 땐 free , vmstat 등을 사용한다.

디스크 IO 모니터링 툴은 몇 개 사용해보니 iostat 으로 보는 방법과 dstat 이 직관적으로 보여준다.

yum install dstat 으로 설치하고,
#dstat 을 입력하면 각각의 모니터링을 할 필요없이 한꺼번에 cpu 사용량, 디스크 사용량, 네트워크 사용량, 페이징파일 사용량 등을 한 눈에 보여준다.

iostat 은 sysstat을 설치해야 사용할 수 있다.
yum install sysstat 으로 설치하고
#iostat 을 실행하면 디스크별 쓰고 읽는 처리량을 한눈에 보여준다.

[root@las1 ~]# iostat -k -d 3
Linux 2.6.18-194.el5 (las1) 2010년 10월 08일

avg-cpu: %user %nice %system %iowait %steal %idle
0.71 0.00 0.95 1.61 0.00 96.73

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 12.07 326.14 174.91 1660006 890252
sda1 2.19 77.28 27.12 393322 138056
sda2 3.10 67.59 12.73 344028 64784
sda3 0.01 0.31 0.00 1598 0
sda4 0.00 0.00 0.00 10 0
sda5 6.76 180.87 135.06 920616 687412

도움말이 그리 친절한 편이 아니다.

[root@las1 ~]# iostat –help
Usage: iostat [ options… ] [ [ ] ]
Options are:
[ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -n ] [ -h ] [ -N ]
[ [ … ] | ALL ] [ -p [ | ALL ] ]

-c 옵션은 CPU 사용량만 보여준다.
-d 옵션은 device utilization 정보만 보여준다. c 와 d 는 함께 사용할 수 없는 옵션.
-k 기본적으로 블락단위인 정보를 킬로바이트로 보여주는 옵션
-m 기본적으로 블락단위인 정보를 메가바이트 단위로 보여준다.
뒤에 숫자를 적으면 해당 초만큼 간격으로 계속 보여준다.

# iostat -m -d 2
예를 들면 위의 명령은 2초 간격으로 디바이스에 대한 정보를 메가바이트로 표시해준다.

나머지 커맨드는 #man iostat 으로 알아보세요.

* 참고 dstat 의 help
[root@las1 ~]# dstat –help
Usage: dstat [-afv] [options..] [delay [count]]
Versatile tool for generating system resource statistics

Dstat options:
-c, –cpu enable cpu stats
-C 0,3,total include cpu0, cpu3 and total
-d, –disk enable disk stats
-D total,hda include hda and total
-g, –page enable page stats
-i, –int enable interrupt stats
-I 5,eth2 include int5 and interrupt used by eth2
-l, –load enable load stats
-m, –mem enable memory stats
-n, –net enable network stats
-N eth1,total include eth1 and total
-p, –proc enable process stats
-s, –swap enable swap stats
-S swap1,total include swap1 and total
-t, –time enable time/date output
-T, –epoch enable time counter (seconds since epoch)
-y, –sys enable system stats
–ipc enable ipc stats
–lock enable lock stats
–raw enable raw stats
–tcp enable tcp stats
–udp enable udp stats
–unix enable unix stats

-M stat1,stat2 enable external stats
–mods stat1,stat2

-a, –all equals -cdngy (default)
-f, –full expand -C, -D, -I, -N and -S discovery lists
-v, –vmstat equals -pmgdsc -D total

–integer show integer values
–nocolor disable colors (implies –noupdate)
–noheaders disable repetitive headers
–noupdate disable intermediate updates
–output file write CSV output to file

delay is the delay in seconds between each update
count is the number of updates to display before exiting
The default delay is 1 and count is unspecified (unlimited)