Re: NTFS rw
Artem Chuprina <ran@ran.pp.ru> wrote:
> Andrey Melnikoff -> debian-russian@lists.debian.org @ Mon, 27 Feb 2006 17:12:49 +0300:
> >> Уже не первый раз встречаю сообщение, что ядра 2.6.xx существенно
> >> медленнее работают с дисками чем 2.4.xx. Хотелось бы собрать
> >> статистику.
> AM> И потом окажется, что все, у кого медленней - деже и неподозревают
> AM> о наличии элеватора четырех разных типов. И что их можно
> AM> переключать.
> Я вот даже не знаю, медленнее ли у меня. А кто такой элеватор, и где
> про него читают?
В dmesg:
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
Initializing Cryptographic API
>io scheduler noop registered
>io scheduler anticipatory registered
>io scheduler deadline registered
>io scheduler cfq registered
Ну и в ядреной документации Documentation/kernel-parameters.txt (elevator=)
Noop Scheduler
This scheduler only implements request merging.
Anticipatory IO Scheduler ("as scheduler")
The anticipatory scheduler is the default scheduler - if you've not
specified one, this is the one that will be loaded. It implements
request merging, a one-way elevator, read and write request batching,
and attempts some anticapatory reads by holding off a bit after a read
batch if it thinks a user is going to ask for more data. It tries to
optimise for physical disks by avoiding head movements if possible -
one downside to this is that it probably give highly erratic
performance on database or storage systems.
Deadline Scheduler
The deadline scheduler implements request merging, a one-way elevator,
and imposes a deadline on all operations to prevent resource
starvation. Because writes return instantly within linux, with the
actual data being held in cache, the deadline scheduler will also
prefer readers - as long as the deadline for a write request hasn't
passed. The kernel docs suggest this is the preferred scheduler for
database systems, especially if you have TCQ aware disks, or any
system with high disk performance.
Complete Fair Queueing Scheduler ("cfq scheduler")
The complete fair queueing scheduler implements both request merging
and the elevator, and attempts to give all users of a particular
device the same number of IO requests over a particular time interval.
This should make it more efficient for multiuser systems. It seems
that Novel SLES sets cfq as the scheduler by default.
Changing Schedulers
The most reliable way to change schedulers is to set the kernel option
'elevator' at boot time. You can set it to one of "as", "cfq",
"deadline" or "noop", to set the appropriate scheduler.
It seems under more recent 2.6 kernels (2.6.11, possibly earlier), you
can change the scheduler at runtime by echoing the name of the
scheduler into /sys/block/<devicename>/queue/scheduler, where
devicename is the base name of the block device, eg sda for /dev/sda
взято с http://www.wlug.org.nz/LinuxIoScheduler
Еще расписано здесь http://kerneltrap.org/node/3851 что для чего можно
использовать.
Reply to: