2009년 12월 21일 월요일

MySQL - 모니터링6

운영체제 툴

MySQL본체이외에도 운영체제의 상태를 알고 싶을 때가 있을 것이다.
여기에서는 Linux를 기준으로 몇가지 툴과 수법을 소개해보자.

iostat

iostat는 디스크 드라이브 단위로 I/O통계정보를 얻을 수 있는 명령어이다. 구문은 다음과 같다.

iostat [옵션] [간격 [횟수] ]

간격에 초수를 지정하면 지정 초수마다 횟수에 지정된 횟수만큼 iostat를 실행하고 끝낸다.
이 때 최초의 레포트는 지금까지의 누적정보를 내고, 두번째부터는 전 레포트 보고시점부터의 통계를 나타낸다. 횟수를 지정하지 않으면 영원히 레포트를 출력한다 .


vmstat

vmstat는 VM의 통계정보를 얻을 수 있는 명령어이다. 구문은 다음과 같다.

vmstat [옵션] [간격 [횟수] ]

간격에 초수를 지정하면 초수마다 횟수에 지정된 횟수만큼 vmstat를 실행하고 끝낸다.
횟수를 지정하지 않으면 영원히 레포트를 출력한다


Linux프로파일러( oprofile)

어플리케이션 어느 부분이 어느 정도의 처리를 하고 있는지등의 정보를 얻을 수 있다.
oprofile에서 프로파일링을 하기 위해서는 커널이 oprofile을 지원하고 있을 필요가 있다.
커널의 config변수는 다음과 같다.

CONFIG_PROFILING  「y」
CONFIG_OPROFILE 「y」또는 「m」


커널의 config의 menu에서는 다음 항목을 유효로 해둔다.
Instrumentation Support -> Profiling support를 「y」
OProfile system profiling을 「y」또는 「m」

실제 조작은 다음과 같다.

oprofile실행예

opcontrol --shutdown <-- oprofile데몬 정지
opcontrol --reset <-- oprofile의 과거 데이터를 삭제
opcontrol --start <-- oprofile 데몬 기동

조사하고 싶은 명령어를 실행

opcontrol --shutdown <-- oprofile데몬 정지
opcontrol --save=test01 <-- 방금 취득한 데이터를 test01라는 이름으로 백업
opcontrol -1 session:test01 <-- test01의 레포트를 표시


oprofile의 데이터는 /var/lib/oprofile/에 기록된다.