2009년 12월 27일 일요일

MySQL - 모니터링7

Linux커널의 I/O스케줄러 변경

커널2.6에서는 다음처럼 I/O스케줄러를 변경할 수 있다.

#I/O스케줄러의 변경
root@shell# echo "anticipatory" > /sys/block/sda/queue/scheduler

하드디스크단위로 지정한다.
하드디스크의 인식명에 따라서 위 예의 sda부분이 바뀌게 된다.
또 boot할 때 커널의 파라미터에 디폴트 I/O스케줄러를 부여하는 것이 가능하다.

elevator=deadline

/sys/block/디스크명/queue/iosched/ 아래의 파일로 I/O스케줄러의 파라미터를 변경할 수 있다.

I/O스케줄러에는 다음과 같은 것이 있다. 커널의 config시에 디폴트를 지정할 수 있다.

  • Anticipatory
  • Deadline
  • CTQ
  • NOOP
커널의 config의 변수, CONFIG_DEFAULT_IOSCHED이던지 make config의 메뉴의
「Block layer」→ 「IO Schedulers」→ 「Default I/O scheduler」에 값을 부여한다.