LINUX.ORG.RU
ФорумTalks

Выбор планировщика

 


2

1

Окончательно нервы сдали с CFQ, поставил deadline, стало лучше, но не уверен, лучший ли это вариант для десктопа.

А какой у вас планировщик ввода-вывода и почему?

★★★★★

Последнее исправление: awesomenickname (всего исправлений: 1)

Ответ на: комментарий от geekless

BFQ.

Когда-то пользовался связкой BFS+BFQ и система, как мне показалось, была менее отзывчивой, но более производительной. Я все правильно понял?

awesomenickname ★★★★★
() автор топика
Ответ на: комментарий от soomrack

при копировании с ext4 на ntfs частенько стает клином система при CFQ. При Deadline система не фризится практически.

awesomenickname ★★★★★
() автор топика
% cat /sys/block/sd?/queue/scheduler                                          ~
noop [deadline] cfq 
noop [deadline] cfq 

почему?

В убунте по умолчанию. В Debian я вроде использовал noop, хотя на самом деле никакой разницы между ними не замечал.

Gotf ★★★
()
Ответ на: комментарий от awesomenickname

менее отзывчивой, но более производительной

У меня всё полностью наоборот, BFQ более отзывчив.

Впрочем, за BFQ ничего говорить не буду. Т.к. после того как я на него перешел, алгоритм CFQ дорабатывали. С новым CFQ я не сравнивал, лень.

geekless ★★
()
Последнее исправление: geekless (всего исправлений: 1)
Ответ на: комментарий от awesomenickname

А какие у тебя параметры

echo /proc/sys/vm/dirty_background_ratio

echo /proc/sys/vm/dirty_ratio

если второй слишком большой, то возможно это и подвешивает систему.

soomrack ★★★★
()
Ответ на: комментарий от soomrack

Как это соотносится с объемом оперативки и с буфером винта?

Где это можно посмотреть, или ты про это ?

А так, у меня 4 гб оперативной памяти

awesomenickname ★★★★★
() автор топика
Ответ на: комментарий от awesomenickname

Да, я про буферы винта.

Слушай, а у тебя случаем не процессоре затык? Когда система фризится, что с htop?

soomrack ★★★★
()
Ответ на: комментарий от soomrack

Не исключаю и проблемы процессора. При загрузке всегда мелькает древняя ошибка

MP-BIOS bug: 8254 timer not connected to IO-APIC 
но это проблема производителя Asus, гуглил на эту тематику много, обновлял биос даже, лечится отключением HPET.

А так, материнка ASUS m2n 2007 года..

awesomenickname ★★★★★
() автор топика
Последнее исправление: awesomenickname (всего исправлений: 1)

Сейчас лучшего нет :-/ Когда CFQ в 2.6.x только-только появился, то это фантастика какая-то была: http://www.balancer.ru/tech/forum/2006/09/t50753--cfq-io-schedule-i-proc-sys-...

Но очень быстро, буквально за пол-года — год поломали и так и не вернули былую плавность… BFQ одно время немного помогал, но не так сильно. И не во всех ядрах он есть. Короче, сегодня идеала нет. Железо стало много быстрее, но активный IO сильно тормозит систему с любыми шедулерами.

KRoN73 ★★★★★
()

А какой у вас планировщик ввода-вывода и почему?

Купил твердотельный накопитель и не заморачиваюсь такими вопросами.

roman77 ★★★★★
()
Ответ на: комментарий от stevejobs

ээ. Если АМД станет ненужно, Штеуд вконец оуеет с ценами на процессоры. Вполне нишевой продукт за свои деньги. А ноу-оп это отсутствие планировщика, причём здесь АМД, я так и не понял.

Кстати, не в курсе, тыквенный сок можно вкалывать в мышцу?

darkenshvein ★★★★★
()
Ответ на: комментарий от awesomenickname

А при deadline на таких же объемах фризов нет?

Смотри, вот эта хрень /proc/sys/vm/dirty_ratio, грубо говоря, показывает процент оперативки, которая занята еще несброшенными данными на диск, после которой система практически перестает работать с диском пока не запишет на диск. Можешь ее поставить поменьше, скажем 10, или даже 5 (тогда и первый параметр не забудь уменьшить). Тогда фризы должны будут по продолжительности уменьшиться.

Еще можешь поиграться с
/proc/sys/vm/dirty_expire_centisecs = 6000
/proc/sys/vm/dirty_writeback_centisecs = 4000

А вообще, для начала попробуй уменьшить длину очереди cfq: /sys/block/sda/queue/nr_requests

soomrack ★★★★
()
Последнее исправление: soomrack (всего исправлений: 1)
Ответ на: комментарий от KRoN73

У меня на железном райде noop (ибо контроллер сам распределяет что да как), на софтовых рейдах deadline, на остальном — cfq, на ssd — noop.

soomrack ★★★★
()
Ответ на: комментарий от soomrack

А при deadline на таких же объемах фризов нет?

можно сказать, что нету.

А остальное попробую, спасибо за советы.

awesomenickname ★★★★★
() автор топика

У меня в компе трудятся SSD с noop + HDD c cfq. Хотя HDD и на AHCI c NCQ.

Pakostnik ★★★
()
Ответ на: комментарий от darkenshvein

noop == теперь этим займется аппаратный планировщик, у интела с этим сильно лучше (по крайней мере так было раньше)

Кстати, не в курсе, тыквенный сок можно вкалывать в мышцу?

нет. А зачем?

stevejobs ★★★★☆
()

подскажите пару тестов для сабжа, которые помогут определить мою ориентацию по данному вопросу?

jcd ★★★★★
()
Ответ на: комментарий от jcd

которые помогут определить мою ориентацию

Ну вот например, вам нравятся улыбающиеся голубоглазые мужчины?

А по сабжу Tiobench попробуй. В портреджах есть.

RedEyedMan
()

я использую BFQ, уже с год, до этого использовал CFQ, объективно с bfq система отзывчивее.

Хотя это уже обсуждалось на лоре, в том числе достаточно детально, стоит погуглить.

science ★★☆
()
Ответ на: комментарий от kernelpanic

noop. Потому что ssd.

я че-то bfq юзаю на SSD, и на ноуте и на рабочей станции, стоит говоришь таки на нуп перейти?

Вот загуглил почитать, вроде как все советуют.
Надо еще у пацанов с парадного спросить.

science ★★☆
()
Ответ на: комментарий от jcd

Если ты про тесты производительности, то я мерил так:

#!/bin/sh
#-------------------------------------------------------------------------------
# Оптимальные настройки для файловой системы xfs на:
# -- WD10EACS
#-------------------------------------------------------------------------------

dir_log="/root/optimization/sdb2/aligned/xfs_best_log"
mkdir -p $dir_log

umount /mnt/data0

#echo 1  > /proc/sys/vm/dirty_background_ratio
#echo 20 > /proc/sys/vm/dirty_ratio

echo 128 > /sys/block/sdb/queue/nr_requests
echo cfq > /sys/block/sdb/queue/scheduler

blockdev --setra 128 /dev/sdb



#-------------------------------------------------------------------------------
# Создание файловой системы
#
mkfs.xfs -f -s size=4k -b size=4k -d agcount=8 -l size=128m /dev/sdb2 > $dir_log/xfs.info
mount -o allocsize=1g,noatime,attr2,nobarrier,logbufs=8,logbsize=256k /dev/sdb2 /mnt/data0

xfs_db -r -c uuid /dev/sdb2 > $dir_log/xfs.uuid




#-------------------------------------------------------------------------------
# Тест производительности

mkdir -p "/mnt/data0/tmp"
chmod 777 "/mnt/data0/tmp"

user="soomrack"
ram=8
count=$(( $ram * 250000 ))

/usr/bin/time -o $dir_log/dd-of.time \
    sh -c "dd if=/dev/zero of=/mnt/data0/tmp/dd.txt bs=8k count=${count} && sync" 2> $dir_log/dd.write

/usr/bin/time -o $dir_log/dd-if.time \
    sh -c "dd if=/mnt/data0/tmp/dd.txt of=/dev/null bs=8k" 2> $dir_log/dd.read


/usr/bin/time -o $dir_log/bonnie++.time \
    sh -c "bonnie++ -f -n 0 -c 4 -x 4 -u ${user} -d /mnt/data0/tmp > $dir_log/bonnie++.csv"

sync
sleep 10
/usr/bin/time -o "$dir_log/bonnie++.all.time" \
    sh -c "bonnie++ -x 4 -u ${user} -d /mnt/data0/tmp > $dir_log/bonnie++.all.csv"

Это оптимальные параметры для моего винта, полученные путем тупого перебора по сетке параметров фс Х длина очереди cfq (вынесение лога xfs на отдельный диск дает прибавку в скорости меньше 1%, поэтому и не делается).

soomrack ★★★★
()
Последнее исправление: soomrack (всего исправлений: 1)
Ответ на: комментарий от science

Ну как бы логика такова: в ssd свой умный контроллер, который сам решает что, куда и когда писать/читать, а посему ядру планировать ничего не надо.

kernelpanic ★★★★★
()
Ответ на: комментарий от soomrack

А вот для ext4

#!/bin/sh
#-------------------------------------------------------------------------------
# Оптимальные настройки для файловой системы ext4 на:
# -- WD10EACS
#-------------------------------------------------------------------------------

dir_log="/root/optimization/sdb2/aligned/ext4_best"
mkdir -p $dir_log

umount /mnt/data0

#echo 1  > /proc/sys/vm/dirty_background_ratio
#echo 20 > /proc/sys/vm/dirty_ratio

echo 128 > /sys/block/sdb/queue/nr_requests
echo cfq > /sys/block/sdb/queue/scheduler

blockdev --setra 128 /dev/sdb

#-------------------------------------------------------------------------------
# Создание файловой системы
#
mkfs.ext4 -b 4096 -O large_file /dev/sdb2 > $dir_log/ext4.info
mount -o inode_readahead_blks=4096,commit=30,nouser_xattr,noacl,data=ordered,noatime,nobarrier /dev/sdb2 /mnt/data0

blkid /dev/sdb2 > $dir_log/ext4.uuid




#-------------------------------------------------------------------------------
# Тест производительности

mkdir -p "/mnt/data0/tmp"
chmod 777 "/mnt/data0/tmp"

user="soomrack"
ram=8
count=$(( $ram * 250000 ))

/usr/bin/time -o $dir_log/dd-of.time \
    sh -c "dd if=/dev/zero of=/mnt/data0/tmp/dd.txt bs=8k count=${count} && sync" 2> $dir_log/dd.write

/usr/bin/time -o $dir_log/dd-if.time \
    sh -c "dd if=/mnt/data0/tmp/dd.txt of=/dev/null bs=8k" 2> $dir_log/dd.read


/usr/bin/time -o $dir_log/bonnie++.time \
    sh -c "bonnie++ -f -n 0 -c 4 -x 4 -u ${user} -d /mnt/data0/tmp > $dir_log/bonnie++.csv"

sync
sleep 10
/usr/bin/time -o "$dir_log/bonnie++.all.time" \
    sh -c "bonnie++ -x 4 -u ${user} -d /mnt/data0/tmp > $dir_log/bonnie++.all.csv"
soomrack ★★★★
()
Ответ на: комментарий от kernelpanic

Ну как бы логика такова: в ssd свой умный контроллер, который сам решает что, куда и когда писать/читать, а посему ядру планировать ничего не надо.

++ и еще ему глубоко пофигу на случайное чтение/запись.

soomrack ★★★★
()
Ответ на: комментарий от stevejobs

нет. А зачем?

А желудок половину полезностей расхреначивает.

Да и у АМД я не жалуюсь на драйвинг винтов южником.

darkenshvein ★★★★★
()
Ответ на: комментарий от soomrack

что-то вроде того, благодарю - погоняемс

Tiobench

его тоже погоняемс

jcd ★★★★★
()

Не ужели кто то чувствует разницу между планировщиками?

Deneb
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.