IO schedulers и производительность

Apr 21, 2011 18:07

Давно уже переживаю, что мой HTPC на ION под ubuntu ведет себя мерзко когда rtorrent качает во всю, а именно такая ситуация:
1 rtorrent пишет со скоростью 3 Mb/sec на внешний USB
2 xbmc начинает жутко тормозить при навигации по меню

При этом
1 CPU загружен всего на 10-20%.
2 Playback отличный, без каких либо тормозов

Подозревал IO scheduler, но всё никак руки не доходили, а тут статья! Как раз в руку!

Целиком
Фикс падения производительности при копировании/закачке файлов

Кратко
Узнать активный планировщик
Чтобы посмотреть все доступные планировщики в системе и узнать, какой из них активен выполняем:

$ cat /sys/block/{DEVICE-NAME}/queue/scheduler
Здесь {DEVICE-NAME} - имя блочного устройства, например sda.
Например, если диск sda, то нужно выполнить:

$ cat /sys/block/sda/queue/scheduler
На выходе получаем строку вроде этой:

noop anticipatory deadline [cfq]
В квадратных скобках указан текущий планировщик.

Смена планировщика на лету
Чтобы поменять планировщик в реальном времени без перезагрузки выполняем:

$ sudo -i
# echo {SCHEDULER-NAME} > /sys/block/{DEVICE-NAME}/queue/scheduler

Здесь {SCHEDULER-NAME} - один из присутствующих в системе планировщиков, у меня это: noop anticipatory deadline cfq. Например, чтобы поставить планировщик deadline, выполяем

$ sudo -i
# echo deadline > /sys/block/sda/queue/scheduler

Фиксация настройки планировщика
Далее, нам нужно заставить Ubuntu использовать выбранный нами планировщик и после перезагрузки. Для этого добавляем строку в конфиг GRUB 2.

GRUB_CMDLINE_LINUX_DEFAULT="elevator={SCHEDULER-NAME}"
После внесения изменений нужно обновить конфигурацию grub:

$ sudo update-grub

Fix: Меняем планировщик и наслаждаемся

xbmc, ion, ubuntu, io scheduler, rtorrent, linux, htpc, soft

Previous post Next post
Up