Puede configurar esto en el arranque agregando el parámetro "ascensor" a la línea cmd del kernel (como en grub.cfg)
Ejemplo:
elevator=deadline
Esto hará que "deadline" sea el programador de E / S predeterminado para todos los dispositivos de bloque.
Si desea consultar o cambiar el programador después de que el sistema se haya iniciado, o si desea usar un programador diferente para un dispositivo de bloque específico, le recomiendo instalar y usar la herramienta ioschedset para facilitar esta tarea.
https://github.com/kata198/ioschedset
Si está en Archlinux, está disponible en aur:
https://aur.archlinux.org/packages/ioschedset
Algunos ejemplos de uso:
# Get i/o scheduler for all block devices
[username@hostname ~]$ io-get-sched
sda: bfq
sr0: bfq
# Query available I/O schedulers
[username@hostname ~]$ io-set-sched --list
mq-deadline kyber bfq none
# Set sda to use "kyber"
[username@hostname ~]$ io-set-sched kyber /dev/sda
Must be root to set IO Scheduler. Rerunning under sudo...
[sudo] password for username:
+ Successfully set sda to 'kyber'!
# Get i/o scheduler for all block devices to assert change
[username@hostname ~]$ io-get-sched
sda: kyber
sr0: bfq
# Set all block devices to use 'deadline' i/o scheduler
[username@hostname ~]$ io-set-sched deadline
Must be root to set IO Scheduler. Rerunning under sudo...
+ Successfully set sda to 'deadline'!
+ Successfully set sr0 to 'deadline'!
# Get the current block scheduler just for sda
[username@hostname ~]$ io-get-sched sda
sda: mq-deadline
El uso debe ser autoexplicativo. Las herramientas son independientes y solo requieren bash.
¡Espero que esto ayude!
EDITAR: Descargo de responsabilidad, estos son los guiones que escribí.